Crontab 是一个用于在 Unix-Linux 系统上定期运行计划任务的实用程序。它允许我们安排多个 cron 作业同时运行。我们可以安排任何 shell 命令或脚本在终端上执行。 crontab 中的每个计划作业均由换行符分隔。我们还可以在一个 cron 作业中定义多个命令或脚本来一一运行。
如何在 Linux 中分离两个命令
您可以使用分号 (;)、逻辑 AND (&&) 或逻辑 OR (||) 运算符分隔两个或多个命令。我们使用哪些运算符完全取决于需求。以下是使用这些运算符的基本了解。
-
分号 (;):用于分隔多个命令。这将执行所有命令,而不检查先前命令的退出状态。
command_1; command_2; command_n
-
逻辑与(&&):当我们只想在上一个命令成功执行且退出状态为 0 的情况下才执行下一个命令时,用于分隔命令。
command_1 && command_2 && command_n
-
逻辑或 (||):当我们只想在前一个命令因非 0 退出状态而失败时才执行下一个命令时,用于分隔命令。
command_1 || command_2 || command_n
如何安排 Cron 作业
首先,切换到要运行 cron 作业的用户。然后通过运行以下命令打开 crontab 编辑器。
crontab -e
然后将 cron 作业条目添加到文件中,如下所示:
在单个 Cron 作业中运行多个命令
让我们讨论一下使用 crontab 以 different-2 分隔符运行多个命令的现实示例。
- 使用分号 (;)
我们可以用分号分隔两个或多个命令,这不需要检查前一个命令的退出状态。例如,您需要将所有文件的权限更改为777,但需要将logs目录设置为777。
|
0 2 * * * chmod -R 755 /var/www/myapp; chmod -R 777 /var/www/myapp/logs
|
- 使用逻辑与 (&&)
使用此运算符,仅当上一个命令成功执行(退出状态 0)时才运行下一个命令。例如,您希望在成功更改到 /backup 目录后运行 backup.sh。
|
0 2 * * * cd /backup && bash backup.sh
|
- 使用逻辑或 (||)
如果您只想在前一个命令失败(退出状态非 0)时才运行下一个命令,请使用逻辑 OR (||) 运算符。例如,您希望在找不到备份文件时显示消息或发送电子邮件。
|
0 2 * * * [ -f /backup/mydb-`date +%F`.sql ] || echo “找不到今天的备份文件”
|
结论
在这篇博文中,您了解了如何在单个 cron 作业条目中运行多个命令。还讨论了分离命令的各种选项。本文为您提供有关用于分隔命令的每个分隔符的基本详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)