手動で起動するとrtcwake
正常に動作します。
$ sudo rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30')
root
しかし、cronジョブで実行されていないようです。
$ sudo crontab -l
32 7 * * * rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30')
コマンドを書くと
$ sudo crontab -l
32 7 * * * rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30') &> /home/me/path/to/dir/crond.log
空のログファイルを取得します。そしての所有者はcrond.log
年齢ですroot
。 (編集1:そうではありません。いくつかのテストで間違いを犯しました。)。
ここで問題は正確に何ですか?
編集2:@αГsнιιの答えのおかげで、正しいcronjobは次のようになります(を使用して生成されますsudo crontab -e
)。
$ sudo crontab -l
32 7 * * * /usr/sbin/rtcwake -m no -u -t $(date +\%s -d 'tomorrow 07:30') &> /home/me/path/to/dir/crond.log
答え1
cronjobに関する2つのこと:
%
\%
これはcrontabの特殊文字であり、改行文字を意味するため、エスケープする必要があります。crontabはシェルの変数を読み取らないので、必ずフル/絶対パスを使用してコマンドを作成してください
PATH
。