Dziś dzielę się napisanym na szybko programikiem, który właśnie to robi.
Użycie:
python SCP2all.py [-r] file_or_directory [optional_path_on_host]
Dopóki nie wpiszemy opcjonalnej ścieżki, gdzie ma być dokładnie wysłany plik na samych hostach, program przyjmuje, że docelowym katalogiem jest katalog domowy użytkownika.
Kod:
#!/usr/bin/env python # -*- coding: utf-8 -*- # Rafał Sarniak 4.05.2016 # SCP2all.sh ver. 1.0 # Simple python program for sending file or directory to a list of adresses. import os, sys lista_adresow = ['user@hostname1', 'user@hostname2', 'user@hostname3'] def main(argv): for adres in lista_adresow: komenda = "scp " if len(argv) == 1: komenda = komenda + argv[0] + ' ' + adres + ":" elif len(argv) == 2 : if argv[0] == '-r' : komenda = komenda + '-r ' + argv[1] + ' ' + adres + ":" else: komenda = komenda + argv[0] + ' ' + adres + ":" + argv[1] elif len(argv) == 3 : komenda = komenda + '-r ' + argv[1] + ' ' + adres + ":" + argv[3] else: print("Błąd") exit() print komenda retvalue = os.system( komenda ) if __name__ == "__main__": main(sys.argv[1:])
Cześć :) Wchodzę na Twojego bloga i uderza mnie wpis o Pythonie. To tak jakby znaleźć bratnią duszę :) Zapraszam do mnie, blog w budowie, ale idzie do przodu :)
OdpowiedzUsuń