所以我到处寻找解决方案,我从来没有得到答案。
如何制作多个crontabs?我目前正在运行干扰的脚本,我110%肯定,如果我能够运行多个crontabs,我将解决这个问题。 (是的,我尝试了一切)。 我可以让多个用户拥有自己的crontab吗?这些crontabs会同时运行吗?
谢谢!
答案 0 :(得分:0)
多个crontabs没有固有的排他性。如果两个单独的crontabs每个星期一凌晨4点都说要运行一个脚本,那么cron将在星期一凌晨4点或多或少同时运行这两个脚本。
猜测,您需要锁定,以便一次只运行一个或另一个干扰脚本。 flock(1)
是一个非常方便的工具,可以在shell脚本中使用。
#!/bin/bash
exec 3> /path/to/lock
flock 3
# something useful here
exit 0 # releases lock
上面获取了一个咨询锁,或等到锁被释放然后获取它。要只尝试一次而不等待,您可以执行以下操作:
#!/bin/bash
exec 3> /path/to/lock
flock -n 3 || exit 1