长时间运行的 rsync 脚本 + cron

长时间运行的 rsync 脚本 + cron

我有一个简单的 bash 脚本,它执行一个rsync命令,将大量文件(4TB+)从远程服务器同步到我的本地计算机。crontab -e我已为此脚本设置了一个时间表,使其每天在固定时间运行。

crontab 条目如下所示:0 0 * * * bash /home/scripts/backup.sh

因此我通过 bash 执行脚本。三个问题:

  1. 此执行管道中是否有任何内容会超时?RSYNC、BASH 或 CRON 会超时吗?rsync 命令可能需要几个小时才能执行。

  2. CRON 是否可以防止脚本交叉,即当下一个计划即将执行时脚本仍在运行?是否有命令或选项可以做到这一点?

  3. 是否有执行日志(来自 rsync、cron 或 bash)可以让我检查进度、诊断任何错误等?

答案1

是的,当然,即使没有看到脚本,“`rsync 命令将大量文件(4TB+)从远程服务器同步到我的本地机器。”可能会超时。

不,没有控制重叠执行的 cron功能。这取决于你。请参阅man flock、、man lockfileman dotlockfile

您的脚本可以记录任何它想要记录的内容。您的脚本STDOUT会通过电子邮件发送到$USER本地。如果电子邮件发送失败,dead.letter则会创建一个名为的文件。我不记得在哪里,但在运行

sudo /etc/cron.daily/mlocate

一个简单的locate dead.letter就应该可以找到它。(顺便说一下,/etc/cron.daily/mlocate使用flock。看看它)。

journalctl $(type -p cron)将向您显示有关 的系统日志cron

现在,谈谈使用 AskUbuntu。请阅读 https://discourse.ubuntu.com/t/ask-ubuntu/21https://askubuntu.com/help/how-to-ask,并且每次只问一个问题 - 它可以帮助后续搜索者。

相关内容