Kopirovat subor na viacere servery
potrebujem zbehnut prikaz, ktory skopiruje subor do /root adresara na kazdom linux servery. Zoznam serverov mam v txt subore a potrebujem aby prikaz cital tento subor a pridal hostname zo zoznamu v txt subore. Ako to mam urobit?
Tento prikaz mi skopiruje subor len na jeden server.. scp -p info.sh root@<remote host>:/root
Dakujem.
Pre pridávanie komentárov sa musíte prihlásiť.
man read, sed, awk, cat, ...
for server in $(cat /root/server.txt) ; do
scp -p audit_linux.sh root@$server:/root >> /root/audit_output.txt
done
ssh root@$server "rpm -qa > /root/rpm_output.txt"
done
Vzdy ked sa script prihlasuje na iny server pyta si "RSA key fingerprint" yes/no a heslo. Da sa nastavit, aby si script nepytal odpoved yes/no a heslo, ale aby to slo automaticky..?
Dakujem.
Akceptovanie odtlačku je len raz. Helso sa pýta vždy, pokiaľ si nenastavíš klúče. Ako na klúče máš popísané v manuáloch pre ssh/scp/openssl.
Ale, dávať si možnosť vzdialene sa prihlásiť na roota z jednej mašiny, tak to je dobré. Keď Ti ju niekto urobí, tak ich bude mať okamžite viacej.
T-Systems ?
Prosim o pomoc s tymto scriptom.. stale mi to pise unknown distribution, aborting.
Dakujem.
#!bin/bash
for server in $(cat /root/server.txt) ; do
DISTRIBUTOR="ssh root@$server lsb_release -a | grep Distributor | cut -d\= -f2-"
case ${DISTRIBUTOR} in
("CentOs") : echo Discovered CentOs
sh ./audit_1.sh
;;
("RedHat") : echo Discovered RedHat
sh ./audit_1.sh
;;
("RedHatEnterpriseAS") : echo Discovered RedHatEnterpriseAS
sh ./audit_1.sh
;;
("Debian") : echo Discovered Debian
sh ./audit_2.sh
;;
(*) : echo Discovered ....only god knows what
echo unknown distribution, aborting;
break;
;;
esac
done
lsb_release -a
? Nebodaj si myslíš, že si niekto začne vo svojom voľnom čase začne inštalovať na svojom počítači tie operačné systémy aby vyriešil prácu za ktorú platia Teba.Ak to zistíš, tak už bude pre Teba jednoduché osekať ten výstup a podľa neho aj trochu upraviť ten výber v
case
.takze script ako taky je v poriadku..? Prikaz vypisuje jedno slovo.. Debian, RedHat, CentOs, atd...
@debian:~# lsb_release -a | grep Distributor
Distributor ID: Debian
Distributor ID: RedHat
Distributor ID: CentOs
man cut
a hľadaj slová ako delimiter a field. Alebo zverejni cenník.Teda to, čo po ňom chce v práci jeho nadriadený.
("CentOs") : echo Discovered CentOs nahraď ("Distributor ID: CentOs") : echo Discovered CentOs
atď.
Pre packages list na rozdielnych OS pouzivam tieto prikazy..:
rpm -qa |sort
Poznate iny- lepsi prikaz, alebo tieto su postacujuce..?dpkg -l
Dakujem.
pokial tam nemas suse/gentoo/arch ani nic ine, tak ti stacia teto prikazy...