私のcrontabで無効なユーザー名エラーが発生するのはなぜですか?

私のcrontabで無効なユーザー名エラーが発生するのはなぜですか?

ディレクトリを圧縮してバックアップにコピーしようとしています。初めてLinuxに触れたので、頑張ってガイドに従いましたが、試してみたとき

systemctl status cron

次のエラーが発生します。

Apr 27 13:34:01 mc-server cron[950]: Error: bad username; while reading /etc/crontab

独自のコマンドを実行すると、期待どおりに機能します(3分タイマーはテスト目的でのみ使用されます)。

これは完全なcrontabです:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
# You can also override PATH, but by default, newer versions inherit it from the environment
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
*/3 *   * * *   root    zip -r -q /mnt/truenas/Ozone/Backup_$(TZ="Europe/Berlin" date "+%A_%d.%m.%y_%H;%M").zip /home/rexor/mcserver
#

答え1

からman 5 crontab

「6番目」フィールド(行の残りの部分)は、実行するコマンドを指定します。行の完全なコマンド部分(改行または%文字まで)は、/ bin / shまたはcrontabファイルのSHELL変数で指定されたシェルによって実行されます。バックスラッシュ(\)でエスケープしない限り、コマンドのパーセント記号(%)は改行文字に変更され、最初の%以降のすべてのデータはコマンドに標準入力として送信されます。単一のコマンドラインは、シェルの末尾の「\」のように複数行に分割することはできません。

なぜ上記のエラーが発生するのかはわかりませんが、コマンドで「%」をエスケープして役立つことを確認してください。

*/3 *   * * *   root    zip -r -q /mnt/truenas/Ozone/Backup_$(TZ="Europe/Berlin" date "+\%A_\%d.\%m.\%y_\%H;\%M").zip /home/rexor/mcserver

関連情報