Não use crontab -e
Eu não colocaria isso crontab -e
como raiz. Isso geralmente é menos óbvio para outros administradores e provavelmente se perderá com o tempo. Ao colocá-los, /etc/crontab
você pode especificar exatamente o horário em que deseja que eles sejam executados e também pode especificar um usuário diferente.
Locais alternativos
Se você não se importa em executar o script como um usuário diferente e / ou apenas deseja que o script seja executado semanalmente, diariamente, etc., várias distribuições fornecem diretórios onde podem ser colocados os scripts que serão processados automaticamente em um horário específico.
Por exemplo, nas distros baseadas no 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
Costumo colocar crons no nível do sistema que eu quero executar em um horário específico, em /etc/cron.d
vez de /etc/crontab
, especialmente se forem scripts mais complexos.
Eu prefiro usar os diretórios abaixo /etc/cron*
porque eles são um local muito mais óbvio que outros administradores de sistema saberão procurar e os arquivos aqui podem ser gerenciados através de instalações de pacotes como rpm
e / ou apt
.
Protegendo entradas
Qualquer um dos diretórios que mencionei foi designado para colocar scripts que não serão destruídos por um gerenciador de pacotes. Se você está preocupado em proteger uma entrada do crontab, eu definitivamente não a colocaria no /etc/crontab
arquivo e, em vez disso, a colocaria como um script adequado em um dos /etc/cron*
diretórios.