Acho que você já resolveu sua própria pergunta. Se você redirecionar stdout e stderr para um arquivo, você não obterá saída para cada arquivo de transferências rsync - isso só será produzido se você estiver executando no modo detalhado ( -v
). O comportamento padrão de rsync
é produzir apenas a saída no caso de um erro. Então você pode fazer isso ...
rsync ... > /var/log/rsync.log 2>&1
... e inspecione esse arquivo para ver se o rsync mais recente foi bem-sucedido ou não. Estou explicitamente usando >
, que sobrescreverá o arquivo de log sempre que rsync
for executado.
Você também pode aproveitar o fato de que rsync
sai com um código diferente de zero quando a transferência falha, então você pode fazer algo assim:
rsync ... || echo "rsync failed" | mail -s 'rsync falied' [email protected]