Agregué un nuevo cronjob con un usuario (SUSE LINUX Enterprise Server 9.4):
# su - XXX
$ crontab -e
y esto es lo que agregué:
* * * * * echo `date` >> /home/XXX/a.txt
pero el a.txt no se crea... SÓLO se creará cuando root reinicie el crond...
P:¿Por qué?
ACTUALIZAR:
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 el usuario o su contraseña no caduquen.
ACTUALIZACIÓN: versión cron:
cron-3.0.1-920.18
y traté de agregar un nuevo crontab al usuario root... es lo mismo :D los nuevos cronjobs root tampoco se están ejecutando... :Dparece que "crontab -e" no recarga CROND o algo así...
Respuesta1
Probé el código anterior y funcionó bien en Red Hat Fedora 14.
* * * * * echo `date` >> /home/saml/a.txt
Salida del archivo:
$ 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
Cosas para probar
¿Puede confirmar que el
crond
servicio se está ejecutando?$ sudo service --status-all |& grep crond crond (pid 1673) is running...
Confirme la configuración del directorio de cola de cron.
$ rpm -qf $(type -P /usr/sbin/crond) cronie-1.4.8-2.fc14.x86_64 $ rpm -ql cronie | grep '/var' /var/spool/cron
Enumere cualquiera que sea su directorio, estamos verificando su existencia y permisos aquí:
$ 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
¿Los cronjob tienen acceso a través de SELinux para escribir en su directorio /home/XXX?
Una prueba rápida sería desactivar temporalmente la aplicación de SELinux para ver si resuelve su problema.
$ getenforce Disabled
Si está habilitado, deshabilítelo:
$ sudo setenforce 0
Respuesta2
strace crontab -e
Lo resolvió... no sé cómo... pero funciona ahora... pero todo lo que quería hacer es verificar las "operaciones" de bajo nivel de crontabs.