在 cron 作业中使用 Verbose

在 cron 作业中使用 Verbose

我正忙于设置一个备份脚本,以便使用rsync.

我看到很多人-v在他们的 cron 作业中使用这个选项。为什么?它将以 root 身份运行,而不是在有人会看到它的终端中运行。

我明白,也许如果发生什么事情,你可以tail /var/logs/syslog,但发生这种情况的机会可以忽略不计。

当我在同一系统上的 2 个外部硬盘驱动器之间运行备份时,我可以看到使用-za.对于压缩来说-z,为什么不呢,即使在最好的情况下,CPU 也几乎不会受到负担。保留-a权限、时间戳、符号链接以及所有者和组并使其递归。

我可能会删除它-z并将其替换为-W写入整个文件而不是块,但我不希望它运行太多小时。

有没有办法将遇到的错误输出到错误日志文件?在这种情况下,这个-v选项可能是有意义的 - 除非我在这里遗漏了一些东西。

答案1

通常,cron将其运行的作业的输出发送给相关用户; so-v在那里很有用,因为您会收到一封包含该命令的完整输出的电子邮件rsync。在正确配置的系统上,甚至邮件也会root发送给适当的用户。

为此,您需要在运行的系统上正确设置邮件cron;过去在 Unix 类型的系统上很常见,现在不那么常见了...默认cron用于发送电子邮件;sendmail这可以通过选项-m覆盖crond。或者,您可以使用, 和选项来配置crond记录作业输出。syslog-s

您还可以cron使用 shell 重定向来重定向各个作业的输出,因此> somelog.log 2> errorlog.log会将标准输出记录到somelog.log,并将标准错误记录到errorlog.log(当​​然可以添加路径)。

相关内容