我读到了以下2种在单个cron作业中运行多个命令的方法:
我们可以在同一个cron作业中运行几个命令,方法是用分号(;)将它们分隔开。
* * * * * /path/to/command-1; /path/to/command-2如果运行的命令相互依赖,我们可以在它们之间使用双符号(&)。因此,如果第一个命令失败,将不会执行第二个命令。
* * * * * /path/to/command-1 && /path/to/command-2我的要求是:
因此,上面的链接并没有说:
;方法仍然保证命令将按给定的顺序顺序执行?发布于 2019-12-03 10:25:12
是的,在命令之间使用;可以保证所有命令都是顺序运行的,一个接一个。一个命令的执行将不取决于上一个命令的退出状态。
正如Paul_Pedant 在评论中所指出的那样,做任何比从crontab启动单个命令更复杂的事情,最好是在一个单独的脚本中收集作业,而不是调度这个脚本。通过这种方式,您可以独立于cron测试和调试脚本,尽管cron为您提供了一个与普通登录shell环境略有不同的环境,但是仍然需要记住一些环境因素(比如当前的工作目录是什么以及$PATH和其他变量的值等等)。
https://unix.stackexchange.com/questions/555327
复制相似问题