cronの使い方を学んでいます。 crontabに簡単なコードを書いた。
# m h dom mon dow command
*/1 * * * * echo "1 minute"> ~/Document/cronoutput
私は毎分この単語を印刷すると予想しましたが、そうではありませんでした。次に確認します。ページ。次のコマンドを実行します。
ps -ef | grep cron | grep -v grep
それは戻ってくる
root 21430 1 0 13:24 ? 00:00:00 cron
数秒後にコマンドを再実行します。
root 21430 1 0 13:24 ? 00:00:00 cron
cronは常に00:00を表示するので、経過時間を計算しないようです。
何が問題であり、どのように解決しますか?
答え1
半分は正しいですが、構文は正しくありません。 1分ごとにcronjobを実行するには、各フィールドにアスタリスクを入力します。
# m h dom mon dow command
* * * * * echo "1 minute"> ~/Document/cronoutput
ログを表示すると、次のsyslog
ようなエラーが表示されることがあります。syntax error: this crontab will be ignored
使用中の構文は機能しますが、ただちには機能しません。
2時間ごと
# m h dom mon dow command
0 */2 * * * /path-to-script
2日に1回
# m h dom mon dow command
0 0 */2 * * /path-to-script
2ヶ月に1回
# m h dom mon dow command
0 0 0 */2 * /path-to-script
答え2
ディレクトリで同じことを試してみると、/tmp
正しく機能する必要があります。
*/1 * * * * echo "1 minute" > /tmp/cronoutput
コマンドラインからコマンドを実行しようとすると、権限の問題によって拒否されます。