Не використовуйте 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*каталогів.