Mamy wiele wdrożeń aplikacji na serwerach takich jak app00, app01 i tak dalej. Muszę skopiować pojedynczy plik dziennika ze wszystkich tych serwerów na mój lokalny komputer Mac, aby móc wykonać grepowanie i wycinanie.
Użyłem csshX do przeglądania tego pliku, ale nie mogę znaleźć odpowiednika dla scp. Zasadniczo chcę dwóch rzeczy:
- Możliwość podłączenia do n numerów takich serwerów i skopiowania pliku
- Unikaj lokalnych konfliktów nazw, być może poprzedzając plik dziennika nazwą hosta serwera
Jak mam to zrobic?
Odpowiedzi:
Jest to trywialne w przypadku małego skryptu. Na przykład:
Powyższe spowoduje skopiowanie pliku z każdego serwera sekwencyjnie i nadanie mu nazwy
SERVERNAME_file
. Plikapp0
będzie więcapp0_file
itd. Możesz oczywiście zmienić nazwy na cokolwiek chcesz.źródło
&
na końcuscp
polecenia iwait
na końcu, a masz współbieżność bez dodatkowych kosztów.Użyj GNU równolegle :
W przeciwieństwie do rozwiązań wykorzystujących a
for
, wszystkie pliki będą pobierane równolegleźródło
źródło
Jeśli potrafisz używać Pythona, istnieje ciekawy moduł, który upraszcza zadania związane z administrowaniem maszyną, zwany tkaniną: http://docs.fabfile.org/en/latest/tutorial.html
Chciałem go użyć, ale też go nie obejrzałem
źródło
To zadziałało dla mnie
źródło