Не використовуйте crontab -e
Я не ставлю це crontab -e
як корінь. Це, як правило, менш очевидно для інших адміністраторів і, ймовірно, з часом загубиться. Помістивши їх, /etc/crontab
ви можете точно вказати час, коли ви хочете, щоб вони працювали, а також можна вказати іншого користувача.
Альтернативні місця розташування
Якщо вам не байдуже запускати сценарій як інший користувач, та / або ви просто хочете, щоб сценарій запускався щотижня, щодня тощо, то декілька дистрибутивів надають каталоги, де сценарії можуть розміщуватися, які автоматично обробляться в певний час.
Наприклад, у дистрибутиві на основі Redhat:
$ ls -dl /etc/cron*
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.daily
-rw-------. 1 root root 0 Nov 23 07:42 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Nov 29 11:03 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.monthly
-rw-r--r--. 1 root root 457 Sep 26 2011 /etc/crontab
drwxr-xr-x. 2 root root 4096 Sep 26 2011 /etc/cron.weekly
Я часто розміщую крони системного рівня, які я хочу запустити в певний час /etc/cron.d
замість /etc/crontab
, особливо якщо це складніші сценарії.
Я вважаю за краще використовувати каталоги в, /etc/cron*
тому що вони набагато очевидніше місце, де інші системні адміністратори будуть знати, і файлами тут можна керувати за допомогою встановлення пакетів, таких як rpm
та / або apt
.
Захист записів
Будь-який із каталогів, про які я згадував, призначений для розміщення сценаріїв, які не будуть зруйновані менеджером пакунків. Якщо ви стурбовані захистом запису на кронтаб, я б точно не вкладав його у /etc/crontab
файл, а замість цього ставлю його як належний сценарій в одному з /etc/cron*
каталогів.