Não use crontab -e
Eu não colocaria em crontab -e
como root. Isso geralmente é menos óbvio para outros administradores e é provável que se perca com o tempo. Colocando-os em /etc/crontab
você pode especificar exatamente o tempo que você quer que eles sejam executados e você pode especificar um usuário diferente também.
Locais alternativos
Se você não se preocupa com a execução do script como um usuário diferente e / ou deseja que o script seja executado semanalmente, diariamente, etc., várias distribuições fornecem diretórios onde os scripts podem ser colocados que serão automaticamente processados em um hora específica.
Por exemplo, em distribuições baseadas em 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
Frequentemente, coloco crons no nível do sistema que desejo executar em um horário específico em /etc/cron.d
em vez de /etc/crontab
, especialmente se forem scripts mais complexos.
Eu prefiro usar os diretórios em /etc/cron*
porque eles são um lugar muito mais óbvio que outros administradores de sistemas 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 é designado para colocar scripts que não serão destruídos por um gerenciador de pacotes. Se você está preocupado em proteger uma entrada crontab, então eu definitivamente não a colocaria no arquivo /etc/crontab
e, em vez disso, colocaria como um script apropriado em um dos diretórios /etc/cron*
.