Nie używaj crontab -e
Nie umieściłbym tego crontab -e
jako root. Jest to ogólnie mniej oczywiste dla innych administratorów i z czasem może się zgubić. Umieszczając je /etc/crontab
, możesz dokładnie określić czas, w którym chcesz je uruchomić, a także możesz określić innego użytkownika.
Alternatywne lokalizacje
Jeśli nie zależy ci na uruchamianiu skryptu jako inny użytkownik i / lub chcesz, aby skrypt był uruchamiany co tydzień, codziennie itp., To kilka dystrybucji udostępnia katalogi, w których można umieścić skrypty, które będą automatycznie przetwarzane w określonym czasie.
Na przykład pod dystrybucjami opartymi na 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
Często umieszczam crony na poziomie systemu, w których chcę uruchomić w określonym czasie /etc/cron.d
zamiast /etc/crontab
, szczególnie jeśli są to bardziej złożone skrypty.
Wolę używać katalogów poniżej, /etc/cron*
ponieważ są one o wiele bardziej oczywistym miejscem, o którym inni administratorzy systemu będą wiedzieć, a plikami tutaj można zarządzać za pomocą instalacji pakietów, takich jak rpm
i / lub apt
.
Ochrona wpisów
Dowolne z wymienionych przeze mnie katalogów są przeznaczone do umieszczania skryptów, które nie zostaną zniszczone przez menedżera pakietów. Jeśli martwisz się ochroną wpisu crontab, to na pewno nie umieściłbym go w /etc/crontab
pliku, a zamiast tego umieściłbym go jako odpowiedni skrypt w jednym z /etc/cron*
katalogów.