Una descripción rápida: tengo un script que respaldará diariamente mi repositorio de código fuente desde SVN en un tarball para ese día. He probado el script y funciona muy bien siempre que lo ejecute como sudo, debido a la propiedad del directorio de salida.
Entonces, el problema es que quiero ejecutar esto a diario, así que puse un enlace en el directorio /etc/cron.daily. Aquí están los contenidos del directorio.
thom@spenser:/etc/cron.daily$ ls -l
total 60
-rwxr-xr-x 1 root root 189 2011-09-14 02:21 apport
-rwxr-xr-x 1 root root 15535 2011-10-06 11:30 apt
-rwxr-xr-x 1 root root 314 2011-08-08 16:57 aptitude
lrwxrwxrwx 1 root root 24 2012-02-28 11:05 backup -> /usr/local/bin/backup.sh
-rwxr-xr-x 1 root root 502 2011-06-08 11:48 bsdmainutils
-rwxr-xr-x 1 root root 256 2011-10-06 04:04 dpkg
-rwxr-xr-x 1 root root 372 2011-10-04 16:50 logrotate
-rwxr-xr-x 1 root root 1353 2011-07-27 07:17 man-db
-rwxr-xr-x 1 root root 606 2011-08-17 09:16 mlocate
-rwxr-xr-x 1 root root 249 2011-06-24 05:36 passwd
-rwxr-xr-x 1 root root 2417 2011-07-01 17:25 popularity-contest
-rwxr-xr-x 1 root root 383 2011-09-30 15:09 samba
-rwxr-xr-x 1 root root 3594 2011-09-19 20:07 standard
thom@spenser:/etc/cron.daily$
El problema es que simplemente nunca se ejecuta. Aquí están los permisos para ese script:
thom@spenser:/etc/cron.daily$ ls -l /usr/local/bin/backup.sh
-rwxr-xr-x 1 root root 260 2012-02-28 11:03 /usr/local/bin/backup.sh
Ideas?
Respuestas:
Probé esto
Descubrí que mi archivo update.ubuntu no apareció. También noté que mi archivo tenía una extensión (tiene un punto).
Pasos para arreglar esto.
run-parts --test /etc/cron.daily
, de nuevo , esta vez apareció mi archivo.fuente
Podría ser una de varias cosas:
Ruta de las raíces:
src: https://help.ubuntu.com/community/CronHowto
O simplemente use rutas completas para cada comando en su script: en
/bin/ls
lugar de,ls
por ejemplo. (which ls
en la línea de comando para rutas).Hay un extraño error sobre los puntos en el nombre de archivo que se informa aquí . Podría extenderse al archivo al que está vinculando, aunque esto parece poco probable.
¿Está guardando la salida del archivo de copia de seguridad? Ponga algo como esto en la primera línea, para ayudar a determinar si no se está ejecutando o si se está ejecutando pero falla en algún momento.
/bin/echo "Attempting to run backup" >> /path-to-home/backup.log
Alternativamente, intente agregar el script al archivo crontab directamente:
funcionará a las 15:30 todos los días si la máquina está encendida. use * * * * * mientras realiza la prueba para que se ejecute una vez por minuto hasta que funcione.
fuente
Grep su syslog para mensajes como;
los archivos deben restringirse a (es suficiente) en 644):
fuente