Linux 每次运行时调整Cronjob?
我正试图为Jira安排一个两阶段的备份过程,我已经编写了脚本 首先必须触发Jira备份,然后需要20-30分钟才能创建和下载 从备份完成并可用开始,只能每48小时触发一次备份,这似乎需要20-30分钟才能触发 其次,jira备份可以在创建备份后24小时内下载 我的问题是,如果我为触发器安排一个cron,然后再安排下载,比如一小时后Linux 每次运行时调整Cronjob?,linux,bash,cron,crontab,Linux,Bash,Cron,Crontab,我正试图为Jira安排一个两阶段的备份过程,我已经编写了脚本 首先必须触发Jira备份,然后需要20-30分钟才能创建和下载 从备份完成并可用开始,只能每48小时触发一次备份,这似乎需要20-30分钟才能触发 其次,jira备份可以在创建备份后24小时内下载 我的问题是,如果我为触发器安排一个cron,然后再安排下载,比如一小时后 0 4 */2 * * /bin/bash jira.sh triggerbackup 0 5 */2 * * /bin/bash jira.sh downloadb
0 4 */2 * * /bin/bash jira.sh triggerbackup
0 5 */2 * * /bin/bash jira.sh downloadbackup
第一次备份是正常的,但下一次它将出错,因为crontab将在48小时限制之外执行20-30分钟
这两个cron任务都需要“滑动”,比如说一个小时以确保安全,以便在每次脚本运行时都在48小时窗口之外
第一次
0 4 */2 * * /bin/bash jira.sh triggerbackup
0 5 */2 * * /bin/bash jira.sh downloadbackup
第二次
0 5 */2 * * /bin/bash jira.sh triggerbackup
0 6 */2 * * /bin/bash jira.sh downloadbackup
第三次
0 6 */2 * * /bin/bash jira.sh triggerbackup
0 7 */2 * * /bin/bash jira.sh downloadbackup
等等
就个人而言,我只是延迟频率,但我不制定规则。我想可能有一个简单的解决办法,我看不到atm,但这是一个有趣的问题,我从来没有遇到过。。如何通过cron实现这一点,您有什么想法吗?不要使用
cron
使用at
。在备份脚本结束时,计划49小时后的下一次备份,并计划下载脚本
at now + 49 hours <<EOF
/bin/bash jira.sh triggerbackup
EOF
at now + 1 hours <<EOF
/bin/bash jira.sh downloadbackup
EOF
现在+49小时而不是cron
使用at
。在备份脚本结束时,计划49小时后的下一次备份,并计划下载脚本
at now + 49 hours <<EOF
/bin/bash jira.sh triggerbackup
EOF
at now + 1 hours <<EOF
/bin/bash jira.sh downloadbackup
EOF
现在+49小时,这太可怕了。想想看是什么导致了硬限制。Youp,我可以说这只是一个亚特兰西的事情来减少备份量。我承认48小时Jira备份有点过分,但仍然可能是我见过的最糟糕的备份策略。除了减少频率(如每3天或更长时间)之外,我看不到其他答案。也许我只是使用了不同的版本,但你不能设置Jira进行自动备份,然后有一个脚本使其在备份位置找到新文件时可用吗?太可怕了。想想看是什么导致了硬限制。Youp,我可以说这只是一个亚特兰西的事情来减少备份量。我承认48小时Jira备份有点过分,但仍然可能是我见过的最糟糕的备份策略。除了减少频率(如每3天或更长时间)之外,我看不到其他答案。也许我只是使用了不同的版本,但您不能设置Jira进行自动备份,然后使用脚本,使其在备份位置找到新文件时可用吗?