我有一个 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