如何从 cron 连续运行两个命令?

Sol*_*osa 2 cron scheduling

我有 2 个命令需要每小时运行一次,所以我将它们放在 /etc/cron.hourly/hrcron 文件中,格式如下

command1; command2
Run Code Online (Sandbox Code Playgroud)

在我看来它应该有效,但是有没有人知道阻止它运行的原因是什么?

我正在运行 CentOS 6.8。

War*_*ung 6

文件放在/etc/cron.hourlycron.daily并且cron.monthly需要是可执行文件。如果您将问题中所示的具有单行的文本文件放入该目录中,则它根本无法运行,原因与您无法从命令行将此类文件作为 shell 脚本运行的原因相同。

你想说的是:

#!/bin/sh
command1
command2
Run Code Online (Sandbox Code Playgroud)

您可以用分号连接第二行和第三行,但这里根本没有必要。这是一个完整的 shell 脚本,因此您不需要以这种方式“堆叠”命令。

另外,一定要标记脚本可执行文件,否则它仍然不会运行。

如果所有这些对您来说似乎很奇怪,根据您对crontab条目的了解,请意识到这些目录中的可执行文件通常由anacron或运行run-parts,而不是由 运行cron。因此,来自的信息在man 5 crontab这里并不真正适用。