Bookmark and Share

Cron non esegue gli script? Ecco la soluzione

Se cron non esegue correttamente gli script su Ubuntu, se i vostri backup di Plone, Zope, Mysql non vengono avviati. Ecco la soluzione.

creato da Luca Cipriani - 14/07/2010

Problema: Cron non esegue gli script da voi indicati.

Può capitare a volte (o spesso, se siete particolarmente sfortunati) che non vengano eseguiti correttamente gli script in cron sulla vostra macchina Ubuntu server o desktop. In particolare vi mostrerò un paio di script in cui siamo incappati io e il mio collega Matteo Sorba.

Il primo riguarda il dump di un database mysql, il secondo il backup di un'istanza Zope.

Svolgimento: gli script incriminati

Ecco le righe del file mysqlbackup contenuto in /etc/cron.d

38 3 * * * root /usr/bin/mysqldump --opt --all-databases > /var/lib/mysql/mysql-all-dump.sql -u root -p'mypassword' && gzip --rsyncab
le /var/lib/mysql/mysql-all-dump.sql

Lo script dovrebbe creare un dump di tutti i database e poi comprimere il file con gzip. Purtroppo questo script non veniva avviato affatto da cron, mentre lanciando l'istruzione da console "a mano" tutto sembrava funzionare correttamente.

Il secodo script utilizza Repozo ed è chiamato repozobackup nella dir /etc/cron.d

18 /2 * * * root /opt/zope/instance/bin/backup &> /var/log/repozo/backup.log

Soluzione: Ubuntu dash e bash

La soluzione per il caso esposto è consistita nel cambiare la shell di default di Ubuntu che è dash, con la ben più nota bash. Per verificare che abbiate queste impostazioni e per risolvere il problema digitate:

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2010-05-05 16:27 /bin/sh -> dash
$ sudo rm /bin/sh
$ sudo ln -s /bin/bash /bin/sh
$ ls /bin/sh -l
lrwxrwxrwx 1 root root 9 2010-07-14 16:35 /bin/sh -> /bin/bash

Ora non resta che riavviare cron e avere tutto funzionante

$ sudo service cron restart
$ sudo service cron status
cron start/running, process 19268

Buon cron a tutti.

grazie

Inviato da SysKing il 03/08/2010 01:06
Letto, provato e funziona. Ti devo una birra quando passi da Termoli

Prego

Inviato da Luca Cipriani il 03/08/2010 10:35
Volentieri. Un po' di mare e una birra fresca aiutano il SysAdmin a lavorare bene. Aggiungo un cron per la visita a Termoli.