Nie jesteś zalogowany na forum.

#1 2016-02-29 20:29:36

addos
Użytkownik
Data rejestracji: 2015-09-01
Liczba postów: 142

ssh + zdalny odczyt zmiennych

Próbuję zdalnie poprzez ssh wykonać polecenie, które kolejno na każdej maszynie spakuje mi katalog.
Zamysł jest taki, żeby po znalezieniu się na danej maszynie:
a) pobrać jej hostname
b) pobrać aktualną datę
i z tych uzyskanych danych złożyć nazwę spakowanego pliku

Przykład co ma wyjść na końcu (data i godzina oczywiście sama się ustawia poprawnie):

vm1__etc__2016-01-01__12-23-00.tar.bz2
vm2__etc__2016-01-01__12-24-00.tar.bz2
vm3__etc__2016-01-01__12-25-00.tar.bz2
vm4__etc__2016-01-01__12-26-00.tar.bz2
vm5__etc__2016-01-01__12-27-00.tar.bz2
vm6__etc__2016-01-01__12-28-00.tar.bz2
vm7__etc__2016-01-01__12-29-00.tar.bz2

Tak wygląda polecenie:

for i in 1 2 3 4 5 6 7; do
  ssh 192.168.1.$i tar -cjvf /`hostname`__etc__`date +%F__%H-%M-%S` /etc;
done

Wszystko wykonuje się tak jak trzeba poza jedną kwestią - nazwą hostname.
Nazwa ta ustawia się wszędzie na taką samą czyli na nazwę hosta, z którego wykonywane jest to polecenie - w tym przypadku hypervisora kvm.

hypervisor-kvm__etc__2016-01-01__12-23-00.tar.bz2
hypervisor-kvm__etc__2016-01-01__12-24-00.tar.bz2
hypervisor-kvm__etc__2016-01-01__12-25-00.tar.bz2
hypervisor-kvm__etc__2016-01-01__12-26-00.tar.bz2
hypervisor-kvm__etc__2016-01-01__12-27-00.tar.bz2
hypervisor-kvm__etc__2016-01-01__12-28-00.tar.bz2
hypervisor-kvm__etc__2016-01-01__12-29-00.tar.bz2

Gdzie robię błąd?


Info przy ew. problemach: Arch Linux x64, Plasma 5 (aktualna), CPU C2D E8400 (3GHz, 6MB cache), ASUS P5Q-PRO (BIOS, bez UEFI), RAM 8GB (DDR2, Dual), GPU GF 9600GT (PCI-E, 512MB), SSD 250GB MLC (GPT, discard, Grub 2, all ext4), HDD 1TB (7200, SATA, AHCI, NCQ, MBR, all ext4), monitor 1920x1080@60Hz DVI, audio: ASUS Xonar DX (PCI-E x1, 5.1 analog, ALSA bez PulseAudio), klaw. PS/2, mysz USB

Offline

Stopka

Napędzają nas PacmanVPS i MegiTeam

Forum oparte na FluxBB