停止rsync发送确认电子邮件

今天我发现我有一个25GB / var / mail / root,里面装满了rsync的电子邮件。 显然,每次运行一个rsync时,它都会向我自己(root @ server)发送一个包含文件列表的电子邮件,而这恰好是每隔几分钟一次。

这是一个Debian服务器,我找不到任何configuration文件的rsync。 所以我的问题是:

1- Debian上rsync的configuration文件在哪里? 2-如何禁用这些rsync电子邮件通知?

谢谢!

rsync不会发送电子邮件,所以围绕着rsync的东西就是这样做的。 我假设这是一个cronjob调用rsync。 运行rsync的cronjob在stdout上生成输出。 默认情况下,cron然后邮件输出到根。

所以首先find运行rsync的cronjob。 看的地方:

/etc/crontab /etc/cron.*/ run crontab -l as root /var/spool/cron/* 

一旦find调用rsync的cronjob,请尝试在命令行上手动运行它。 你会发现它显示的输出与你收到的电子邮件相匹配。

接下来,您需要redirect或禁止输出。 在cronjob中,你可以做这样的事情:

 * * * * * /usr/bin/rsync blah &>/dev/null 

压制所有输出。 或者,更改您使用的rsync标志以消除输出,或将其redirect到日志文件(但不要忘记然后设置旋转!)。

另一个疑难解答的想法:在这个问题中包含这些电子邮件中的标题,以便我们可以检查他们的线索。

如果你用cron运行rsync,那么rsync不会给你发电子邮件,cron是。 Cron会通过电子邮件将cronjobs的输出发送给(默认情况下)root用户。 您可以:

  • 运行没有详细标志的rsync,在这种情况下,将不再生成文件列表。
  • redirect你的cron作业的stdout / stderr(使用'>'input/输出redirect)

您需要在cron中添加脚本的redirect来停止电子邮件。 检查您的crontab(或脚本运行的系统crontab)并添加redirect,如your_rsync_script.sh > /dev/null 2>&1

您也可以从rsync命令中删除“v”(详细)标记以平息cron作业的输出。

我的猜测是你的rsync是由cron运行的。

您将需要编辑您的crontab项并将输出redirect到/ dev / null例如

 10 * * * * rsync -av --delete source/ destination/ >/dev/null 2>&1 

我的解决scheme是添加-q (安静)开关到我的rsync命令。 由于我在我的用户下运行rsync,这很方便,因为如果rsync由于某种原因失败,我仍然会收到电子邮件。