我正忙于设置一个备份脚本,以便使用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
(当然可以添加路径)。