Zajmuję się tworzeniem skryptu w Pythonie, który może zbierać dzienniki z wielu maszyn. Używam rsync. Ale jest problem. Mam dzienniki dla wielu usług, które wyglądają następująco:rsync pomijanie nieistniejących plików na źródle
service1.log
service2.log
service3.log
... and so on
Ścieżki do tych plików i folderów są określone w kodzie. Ale czasami pojawia się sytuacja, gdy niektóre pliki dziennika jeszcze nie istnieją. A rsync nie kończy się pomyślnie.
Jak mogę pominąć pliki, które nie istnieją na komputerze źródłowym?
P.S. Używam saltstack rządzić maszyny, więc wzywam:
__salt__['cmd.retcode']('rsync -a file1 file2...')
może najlepiej użyć próby/z wyjątkiem –
@PadraicCunningham nie ma wyjątku. Nazywam to programem cli i po prostu nie zwraca kodu ret_code 0. –
jak go używasz? Myślałem, że może używasz podprocesu lub pexpect –