rtcwakeはルートクローンジョブとして実行されません。

rtcwakeはルートクローンジョブとして実行されません。

手動で起動すると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つのこと:

  1. %\%これはcrontabの特殊文字であり、改行文字を意味するため、エスケープする必要があります。

  2. crontabはシェルの変数を読み取らないので、必ずフル/絶対パスを使用してコマンドを作成してくださいPATH

関連情報