カスタマイズされていない最小のUbuntu 16.04サーバーシステムの/ etc / crontabに次のコードがあります。手動で実行すると正しく実行されます。
0 8 * * * zip -r /UsualUser/backups/dirs/html-$(date +\%F-\%T-).zip /var/www/html
0 8 * * * find /UsualUser/backups/dirs/* -mtime +30 -exec rm {} \;
# m h dom m dow
# 0-59 | 0-23 | 1-31 | 1-12 | 0-6
にエラーはありませんjournalctl -u cron
。
問題は、権限のためファイルを実行できないためだと思います644
。しかし、その中にあるコードが機能し始めるように実行可能にする最も安全な権限セットが何であるかはわかりません。
ベストアンサー1
Ubuntuのファイルは/etc/crontab
システムcrontabファイルです。実行可能ではなく、ユーザーのcrontabファイルとは異なる形式でなければなりません。
形式の違いは、6番目のフィールドがアイテムを実行したユーザーの名前であることです。
また、%
crontabファイルには特別な意味があります。%
エスケープしない限り、すべての内容は改行に変更されます(ただし、予防措置を講じたようです)。\%
これらはman 5 crontab
crontabのマニュアル()で説明されています。
cron コマンドの形式は V7 と非常に互換性があり、多くの上向き互換拡張が可能です。各行には5つの時間フィールドと日付フィールドがあり、その後にコマンド、改行文字(
\n
)が続きます。 システムcrontab(/etc/crontab
)は、コマンドのユーザー名が時間フィールドと日付フィールドの後にコマンドの前に指定されることを除いて同じ形式を使用します。