我读到了以下两种在单个 cron 作业中运行多个命令的方法:
我们可以在同一个 cron 作业中运行多个命令,并用分号 (;) 分隔它们。
* * * * * /path/to/command-1; /path/to/command-2
Run Code Online (Sandbox Code Playgroud)
如果运行的命令相互依赖,我们可以在它们之间使用双与号(&&)。因此,如果第一个命令失败,则不会执行第二个命令。
* * * * * /path/to/command-1 && /path/to/command-2
Run Code Online (Sandbox Code Playgroud)
我的要求是:
因此上面的链接没有说的是:
分号;
方法是否仍然保证命令将按给定的顺序顺序执行?
是的,;
在命令之间使用将保证所有命令都按顺序运行,一个接一个。一个命令的执行不依赖于前一个命令的退出状态。
正如 Paul_Pedant在 comments 中指出的那样,做任何比从 crontab 启动单个命令更复杂的事情,最好通过在单独的脚本中收集作业并安排该脚本来完成。这样,您就可以独立于 cron 来测试和调试脚本,尽管由于 cron 为您提供的环境与普通登录 shell 环境略有不同,但仍然存在环境因素(例如当前工作目录是什么以及其他值是什么$PATH
)变量等)要记住。
归档时间: |
|
查看次数: |
15387 次 |
最近记录: |