Evita o email rsync vazio no cron

1

Eu tenho um trabalho de crontab para sincronizar uma pasta:

50 5 * * * /home/user/bin/sync-folder

Isso executará um script:

#!/bin/bash

sudo rsync -rav --delete --log-file=/tmp/rsync-output /origin /destination
grep folder /tmp/rsync-output

if [ $? == 0 ]; then
    cat /tmp/rsync-output
fi

A questão é que, quando não há nada para sincronizar, recebo um e-mail assim:

sending incremental file list

sent 343 bytes  received 17 bytes  720.00 bytes/sec
total size is 91,056  speedup is 252.93

O que eu queria é receber um email apenas onde houver novas alterações. Como posso evitar esse tipo de e-mail?

    
por jherran 11.02.2015 / 00:25

1 resposta

1

Substitua isto:

50 5 * * * /home/user/bin/sync-folder

Com isso:

50 5 * * * /home/user/bin/sync-folder > /dev/null 2>&1

Adicione um email dentro do script:

#!/bin/bash

sudo rsync -rav --delete --log-file=/tmp/rsync-output /origin /destination
grep folder /tmp/rsync-output

if [ $? == 0 ]; then
    mailx -s "Rsync Complete at 'date +"%F %T"'" [email protected] < /tmp/rsync-output
fi
    
por 11.02.2015 / 01:24

Tags