我有一个简单的 bash 脚本,它执行一个rsync
命令,将大量文件(4TB+)从远程服务器同步到我的本地机器。使用crontab -e
我已经为这个脚本设置了一个时间表,每天在设定的时间运行。
crontab 条目如下所示:0 0 * * * bash /home/scripts/backup.sh
所以我正在通过 bash 执行脚本。三个问题:
这个执行管道中有什么会超时吗?RSYNC、BASH 或 CRON 是否超时?rsync 命令可能需要数小时才能执行。
CRON 是否防止脚本交叉,即当下一个计划执行时脚本仍在运行?有没有命令或选项?
是否有允许我检查进度、诊断任何错误等的执行日志(来自 rsync、cron 或 bash)?
是的,当然,即使没有看到脚本,“`rsync 命令将大量文件 (4TB+) 从远程服务器同步到我的本地计算机。” 可以超时。
不,没有
cron
控制重叠执行的功能。由你决定。见man flock
,man lockfile
,man dotlockfile
.您的脚本可以记录它想要的任何内容。您的脚本通过
STDOUT
电子邮件发送到$USER
本地。dead.letter
如果发送电子邮件失败,将创建一个名为的文件。我不记得在哪里,但在跑步之后一个简单的
locate dead.letter
应该找到它。(顺便说一句,/etc/cron.daily/mlocate
使用flock
. 看看它)。journalctl $(type -p cron)
将向您显示有关cron
.现在,谈谈使用 AskUbuntu。请阅读 https://discourse.ubuntu.com/t/ask-ubuntu/21和https://askubuntu.com/help/how-to-ask,一次只问一个问题 - 它有助于以后的搜索者.