strace crontab -e
resolveu-o ... não sei como .. mas funciona agora .. mas tudo o que eu queria fazer era verificar as "operações" do crontabs lowlevel ..
Eu adicionei um novo cronjob com um usuário (SUSE LINUX Enterprise Server 9.4):
# su - XXX
$ crontab -e
e é isso que eu adicionei:
* * * * * echo 'date' >> /home/XXX/a.txt
mas o a.txt não é criado ... ele será SOMENTE criado quando o root reiniciar o crond ...
Q: Por quê?
ATUALIZAÇÃO:
machine:~ # chage -l XXX
Minimum: 1
Maximum: 99999
Warning: 7
Inactive: -1
Last Change: Apr 11, 2011
Password Expires: Never
Password Inactive: Never
Account Expires: Never
machine:~ #
para que o usuário ou sua senha não seja expirado.
ATUALIZAÇÃO: versão do cron:
cron-3.0.1-920.18
e eu tentei adicionar um novo crontab para o usuário root .. é o mesmo: D os novos cronjobs de root não estão rodando também ..: D parece que "crontab -e" não recarrega CROND ou algo assim ...
Eu tentei o código acima e funcionou bem no Red Hat Fedora 14.
* * * * * echo 'date' >> /home/saml/a.txt
Saída do arquivo:
$ tail -f a.txt
Fri Oct 4 14:38:01 EDT 2013
Fri Oct 4 14:39:01 EDT 2013
Fri Oct 4 14:40:01 EDT 2013
Você pode confirmar que o serviço crond
está sendo executado:
$ sudo service --status-all |& grep crond
crond (pid 1673) is running...
Confirme a configuração do diretório de spool do cron.
$ rpm -qf $(type -P /usr/sbin/crond)
cronie-1.4.8-2.fc14.x86_64
$ rpm -ql cronie | grep '/var'
/var/spool/cron
Relacione qualquer diretório que esteja, estamos verificando a existência e as permissões aqui:
$ sudo ls -ld /var/spool/cron/
drwx------. 2 root root 4096 Oct 4 14:37 /var/spool/cron/
$ sudo ls -l /var/spool/cron/
total 4
-rw------- 1 root root 0 Sep 16 23:47 root
-rw------- 1 saml root 42 Oct 4 14:37 saml
SELinux
O cronjob tem acesso via SELinux para gravar em sua pasta / home / XXX?
Um teste rápido seria desativar temporariamente a aplicação do SELinux para ver se isso resolve o problema.
$ getenforce
Disabled
Se estiver ativado, desative-o:
$ sudo setenforce 0