Cron 定期为不同的脚本

Cron periodically for different scripts

我想每半小时 运行 几个脚本。这显然适用于这条线

*/30 * * * * script.sh

我现在的问题是我如何能够在不同时间 运行 其中的几个。例如,script.sh 到 运行 在 script2.sh 前 5 分钟,然后是 script3.sh 前 5 分钟。如果那不可能,任何确保它们不会在彼此相隔 5 分钟内执行的方法就足够了。

我确实看到了使用脚本或其他程序来执行此操作的解决方案。如果 cron 不能用于工作,"not possible" 就是我正在寻找的答案。

*/30 等价于 0,30。如果您使用后一种语法,您只需将 5,35 用于另一项工作以将其与第一项相抵消。

例如,您可以做三份工作:

 0,30 * * * * script1.sh
 5,35 * * * * script2.sh
10,40 * * * * script3.sh

请注意,如果 script1.sh 到 运行 的时间超过 5 分钟,script1.shscript2.sh 之间仍然会有重叠。如果你真的必须避免这种情况,你应该考虑锁定文件(使用例如 flock)。