Han*_*nny 8 bash backup scripts cron rsync
我有一个 cron 作业,它只是在特定目录上运行 rsync。
当我运行 rsync 命令本身时sudo rsync -av --delete /directory1 /directory2,它运行没有问题并且完全按预期运行。
当 Cron 作业运行时 - 我在 /var/log/syslog.1 中看到它,它说这个(总结):
Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (root) CMD (rsync --delete /my/directory /backup/directory)
Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (CRON) info (No MTA installed, discarding output)
Run Code Online (Sandbox Code Playgroud)
但是文件不在备份目录中(所以它没有完成)。
关于 ' No MTA installed' 的第二个语句是否阻止了 cron 作业的完成?完成该 cron 作业并摆脱 MTA 错误的最佳方法是什么?
我找到了这个答案,但没有说明这是否会阻止工作完成。
不,它不会阻止 CRON 作业完成。
通常,你不应该让你的 CRON 作业生成输出而不告诉它在哪里写它。如果这样做,就像在这种情况下一样,CRON 会尝试将其邮寄到某个地方(也在crontab文件中指定)。如果它不成功,它会丢弃输出,正如它在日志文件中所说的那样,然后继续。
在您的情况下,您没有安装“消息传输代理”。这是提供命令的包的通用名称,例如postfix和。ssmtpmail
我建议分别rsync使用>和从命令重定向SYSOUT 和SYSERR 2>。如果您根本不感兴趣,请将输出重定向到/dev/null.
| 归档时间: |
|
| 查看次数: |
15296 次 |
| 最近记录: |