Qual é a diferença entre o crontab localizado no /etc/crontab
e o crontab que pode ser editado usando crontab -e
?
Como Ignacio disse, /etc/crontab
é o crontab amplo do sistema.
O formato de /etc/crontab
é assim:
# m h dom mon dow user command
* * * * * someuser echo 'foo'
Embora crontab -e
seja por usuário, vale mencionar, sem -u
argumentos, que o comando crontab vai para o usuário atual crontab. Você pode fazer crontab -e -u <username>
para editar um crontab de usuários específicos.
Observe que em um crontab por usuário não existe um campo 'usuário'.
# m h dom mon dow command
* * * * * echo 'foo'
Um aspecto dos crontabs que pode ser confuso é que a raiz também possui seu próprio crontab. por exemplo crontab -e -u root
, não irá editar /etc/crontab
Veja Configurando o cron .
Na maioria das distribuições Linux, os crontabs por usuário geralmente são armazenados em: /var/spool/cron/crontabs/<username>
(vixie-cron).
As distribuições baseadas em RHEL são armazenadas em /var/spool/cron/<username>
. (cronie)
/var/spool/cron/root
crontab por usuário do root em um sistema RHEL 6. Não verifiquei o Ubuntu, mas dizer "normalmente" parece um pouco exagerado.path[crontabs]
na biblioteca de "caminhos" do CFEngine e verifique o contexto (as linhas de contexto anteriores se parecem, por exemploredhat::
). Há mais variação do que você pensa; por exemplo, o SUSE os coloca/var/spool/cron/tabs
. (Abstraindo diferenças distro é uma das razões CFEngine foi originalmente criado, por isso é muitas vezes uma boa referência.)Um é o crontab do sistema e só pode ser editado pela raiz, e o outro é o usuário crontab e pode ser editado por um usuário e existe por usuário.
fonte