フォルダを同期するcrontab操作があります。
50 5 * * * /home/user/bin/sync-folder
これでスクリプトが実行されます。
#!/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
問題は、同期するものがないときに次のような電子メールを受信することです。
sending incremental file list
sent 343 bytes received 17 bytes 720.00 bytes/sec
total size is 91,056 speedup is 252.93
私が望むのは、新しい変更がある場合にのみ電子メールを受信することです。そのような電子メールを防ぐ方法は?
答え1
これを取り替えて下さい:
50 5 * * * /home/user/bin/sync-folder
これで:
50 5 * * * /home/user/bin/sync-folder > /dev/null 2>&1
スクリプトにメールを追加します。
#!/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