1時間ごとに実行する必要のあるコマンドが2つあるので、これらを/etc/cron.hourly/hrcronファイルに次の形式で配置します。
command1; command2
私の意見ではうまくいくはずですが、何がそれを実行するのを止めているのか誰かが知っていますか?
CentOS6.8を実行しています。
/etc/cron.hourly
、cron.daily
、およびcron.monthly
に配置されたファイルは実行可能ファイルである必要があります。質問に示されているように1行のテキストファイルをそのディレクトリに配置すると、コマンドラインからシェルスクリプトなどのファイルを実行できなかったのと同じ理由で、まったく実行できません。
あなたが言うつもりはこれです:
#!/bin/sh
command1
command2
2行目と3行目をセミコロンで連結することもできますが、ここでは必要ありません。これは完全なシェルスクリプトなので、そのようにコマンドを「スタック」する必要はありません。
また、スクリプトを実行可能としてマークしてください。そうしないと、スクリプトは実行されません。
crontab
エントリ の知識に基づいて、これらすべてが奇妙に思われる場合は、これらのディレクトリ内の実行可能ファイルは通常、 anacron
または run-parts
、cron
ではありません。したがって、man 5 crontab
からの情報はここでは実際には適用されません。
そのための最もクリーンな方法は、2つのファイルを作成することです
/etc/cron.hourly/file1
含むcommand1
/etc/cron.hourly/file2
を含むcommand2
単一のcronジョブを実行することはお勧めしませんcommand1 && command2
最初のコマンドが失敗した場合、2番目のコマンドが意図的に実行されることはないためです。
編集:command2の前にcommand1を実行する必要がある場合は、標準の/etc/crontab
ファイルを作成し、次のように入力します。
0 * * * * root command1
5 * * * * root command2
これにより、command1が毎時00分に実行され、command2が毎時05分に実行されます。