Buenas, * En /etc/cron.daily tengo un script que actualiza el mirror local que tengo de la 9.3 mediante rsync. EL script funciona a la perfección. EL problema es que el cronjob parece no ejecutarse.. pues SIEMPRE que lo hago manualmente, el mirror se actualiza. Además, no veo por ningún log referencia a que ese script en particular se ejecute. ¿alguna orientación? * No sé si tendrá que ver que el script (aunque no llega la opción --progress para ver el progreso por pantalla) tiene igualmente alguna salida en pantalla. No sé si será por eso... -- ¡Share your knowledge! Linux user id 332494 # http://counter.li.org/ PGP id 0xC5ABA76A # http://pgp.mit.edu/
El Viernes, 14 de Octubre de 2005 09:04, Aquiles escribió: ¡Share your knowledge! 8) ¿Te importaría remitirme ese script?. Saludos. Ventura -- **************************************************************************** Llave GNUpg 0x75F9AACA disponible en anillo pgp http://www.rediris.es/cert/servicios/keyserver/ **************************************************************************** El correo electrónico no firmado/encriptado no es seguro y puede no ser auténtico. Si tiene alguna duda sobre el contenido, por favor, telefonee para confirmarlo. La información contenida en este mensaje es confidencial y destinada exclusivamente para la/s dirección/es arriba indicada/s. Si ha recibido este mensaje por error o ha habido algún problema, por favor, notifíquelo inmediatamente al remitente. El uso no autorizado, revelación, copia o alteración de este mensaje está estrictamente prohibido. ****************************************************************************
¡Share your knowledge! 8)
;)
¿Te importaría remitirme ese script?.
Por supuesto que no. ############################################################ #!/bin/bash rsync -au --delete-after --bwlimit=64 \ --exclude='rpm/src' \ --exclude='rpm/x86_64' \ --exclude='rpm/src/x86_86' \ ftp.gwdg.de::SuSE/ftp.suse.com/suse/i386/update/9.3/ \ /srv/ftp/i386/update/ exit 0 ############################################################ -- ¡Share your knowledge! Linux user id 332494 # http://counter.li.org/ PGP id 0xC5ABA76A # http://pgp.mit.edu/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2005-10-14 a las 11:43 +0200, Aquiles escribió:
rsync -au --delete-after --bwlimit=64 \
Los scripts para cron deben especificar el path completo de los programas. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFDT76stTMYHG2NR9URAmuUAJ9T4yQlhyAqM74jtWpbNjvJdYBe/wCcC81f tR1XjgRJlpcrSZOB5rshPyc= =HRZz -----END PGP SIGNATURE-----
El 14/10/05, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2005-10-14 a las 11:43 +0200, Aquiles escribió:
rsync -au --delete-after --bwlimit=64 \
Los scripts para cron deben especificar el path completo de los programas.
o bien, utilizar PATH dentro del script !!! ;-) salu2, -- -- Victor Hugo dos Santos Linux Counter #224399
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2005-10-14 a las 16:31 -0300, Victor Hugo dos Santos escribió:
Los scripts para cron deben especificar el path completo de los programas.
o bien, utilizar PATH dentro del script !!! ;-)
También, también :-) - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFDUDvVtTMYHG2NR9URAmxbAJ9E0FWz+8pVFk4tZ38ODN1vtszTfACbBVjs 8ja2IEXINuOs9LBCFr2JVds= =nZAY -----END PGP SIGNATURE-----
Los scripts para cron deben especificar el path completo de los programas.
* Inocencia la mía pues. Y mira que mire la documentación... en fin, no siempre se lee adecuadamente. Gracias por la aclaración. ;) -- ¡Share your knowledge! Linux user id 332494 # http://counter.li.org/ PGP id 0xC5ABA76A # http://pgp.mit.edu/
El Sábado, 15 de Octubre de 2005 17:41, Aquiles escribió:
Los scripts para cron deben especificar el path completo de los programas.
* Inocencia la mía pues. Y mira que mire la documentación... en fin, no siempre se lee adecuadamente.
Gracias por la aclaración.
* Pon el script en /etc/cron.d/ y activa su ejecucion en crontab a la hora que te convenga, y cambiala cuando te convenga, con solo cambiar un numerito, depende en que maquina sea pero como tengas muchos scripts (de ejecucion larga y pesada) en cron.daily , updatedb, aquellos que tiren de find, etc, etc, puedes tener 1 hora la maquina rascando sin poder hacer casi nada por la ejecucion simultanea de varios.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2005-10-16 a las 00:22 +0200, jose maria escribió:
* Pon el script en /etc/cron.d/ y activa su ejecucion en crontab a la hora que te convenga, y cambiala cuando te convenga, con solo cambiar un numerito, depende en que maquina sea pero como tengas muchos scripts (de ejecucion larga y pesada) en cron.daily , updatedb, aquellos que tiren de find, etc, etc, puedes tener 1 hora la maquina rascando sin poder hacer casi nada por la ejecucion simultanea de varios.
Voy a aprovechar para aclararnos un poco las ideas :-) Los scripts que se ponen en /etc/cron.daily/ no tienen hora garantizada de ejecución. Si el ordenador está en marcha continuamente, se sabe que se deben ejecutar a la misma hora todos los dias - pero hay un bug en la 9.3 que lo impide y hace que la hora se deslice 15' cada dia: Oct 11 20:15:02 nimrodel run-crons[16388]: Starting cron daily run Oct 12 20:30:01 nimrodel run-crons[31154]: Starting cron daily run Oct 13 20:30:02 nimrodel run-crons[19374]: Starting cron daily run Si el ordenador se enciende y apaga a ratos, la ejecución es durante los 15' siguientes a la arrancada, si hace al menos 24 horas que no se han ejecutado. La idea es asegurar la ejecución una vez al dia, incluso en los ordenadores de sobremesa que se encienden a ratos, mientras que las tareas de cron se ejecutan a una hora exacta, pero sólo si está en marcha. Es la alternativa que ha elegido SuSE en vez de instalar "anacron". Truco: para forzar la ejecución de los scripts diarios en un momento dado, basta borrar el fichero "/var/spool/cron/lastrun/cron.daily", o "tocarlo" habilmente. Es en este directorio es donde están las tareas tan pesadas como updatedb o backup-rpmdb que enlentecen el sistema una barbaridad. Por cierto, eso es algo ajustable, editando en /usr/lib/cron/run-crons esta linea: CRON_SCRIPT_NICE_VALUE=15 aunque no sirve de mucho, porque lo enlentece el sistema es la gran demanda que hacen del disco duro; la verdadera solución sería algo que limitase la cantidad de i/o que se le permite a un proceso, o bien reprogramar esas tareas para que sean más "tranquilas". Pero el directorio "/etc/cron.d/" es distinto. Este directorio es leido directamente por el demonio cron - cron(8), y es un simple directorio (*.d) contenedor de crontabs de sistema, a diferencia de los crontabs de usuario en "/var/spool/cron": Cron searches /var/spool/cron for crontab files which are named after accounts in /etc/passwd; crontabs found are loaded into memory. Cron also searches for /etc/crontab and the files in the /etc/cron.d directory, which are in a different format (see crontab(5)). Cron then wakes up every minute, examining all stored crontabs, checking each command to see if it should be run in the cur- rent minute. When executing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO environment variable in the crontab, if such exists). Los ficheros de este directorio tienen el formato de un crontab - y por cierto, no son scripts, no pueden ser ejecutables: CAVEATS In this version of cron, /etc/crontab must not be writable by any user other than root. No crontab files may be links, or linked to by any other file. No crontab files may be executable, or be writable by any user other than their owner. (lo de "esta version" se refiere a que cumple "IEEE Std1003.2-1992 (``POSIX'')", en vez de "Vixie Cron". ¡Y es del 93! Por ejemplo, el "/etc/cron.d/seccheck" contiene ésto: RUN_FROM_CRON=yes # # SuSE Security Checks # 0 0 * * * root test -x /usr/lib/secchk/security-control.sh && /usr/lib/secchk/security-control.sh daily & 0 1 * * 1 root test -x /usr/lib/secchk/security-control.sh && /usr/lib/secchk/security-control.sh weekly & 0 4 1 * * root test -x /usr/lib/secchk/security-control.sh && /usr/lib/secchk/security-control.sh monthly & - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD4DBQFDUapjtTMYHG2NR9URAtxYAJ9NTkUorn1qCg0wQvodCGaqxBUmaQCYzcuB aMhbNL5939gR+FbITy+NHw== =0cye -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2005-10-14 a las 09:04 +0200, Aquiles escribió:
* En /etc/cron.daily tengo un script que actualiza el mirror local que tengo de la 9.3 mediante rsync. EL script funciona a la perfección. EL problema es que el cronjob parece no ejecutarse.. pues SIEMPRE que lo hago manualmente, el mirror se actualiza. Además, no veo por ningún log referencia a que ese script en particular se ejecute.
¿alguna orientación?
Edita "/usr/lib/cron/run-crons", y cambia a true esto: SEND_MAIL_ON_NO_ERROR=true para que te reporte el resultado sea el que sea. Si no, solo reporta si hay error.
* No sé si tendrá que ver que el script (aunque no llega la opción --progress para ver el progreso por pantalla) tiene igualmente alguna salida en pantalla. No sé si será por eso...
Los trabajos de cron no pueden tener salida a pantalla; en principio, en los de cron-daily la salida se guarda y se envia por correo, pero sólo en caso de error (codigo de salida no cero). - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFDT4kMtTMYHG2NR9URAr9NAJ9nZAI8BoMN0Awr+r7SgSRR1Ztk9wCcCPWD ruEHd52KiM4JrUzhd7KX3fs= =LbGm -----END PGP SIGNATURE-----
participants (5)
-
Aquiles
-
Carlos E. R.
-
jose maria
-
Ventura Valderrábano Ornedo
-
Victor Hugo dos Santos