Un aperçu rapide: J'ai un script qui sauvegardera quotidiennement mon référentiel de code source de SVN dans une archive tar pour ce jour. J'ai testé le script et il fonctionne très bien tant que je l'exécute en tant que sudo, en raison de la propriété du répertoire de sortie.
Donc, le problème est que je veux l'exécuter quotidiennement, donc je mets un lien vers celui-ci dans le répertoire /etc/cron.daily. Voici le contenu du répertoire.
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$
Le problème est qu'il ne fonctionne tout simplement jamais. Voici les autorisations pour ce 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
Des idées?
Réponses:
J'ai essayé ça
Trouvé que mon fichier update.ubuntu n'est pas venu. J'ai également remarqué que mon fichier avait une extension (avec un point).
Étapes pour résoudre ce problème.
run-parts --test /etc/cron.daily
, cette fois, mon dossier est arrivé!la source
Pourrait être l'une des nombreuses choses:
Chemin des racines:
src: https://help.ubuntu.com/community/CronHowto
Ou utilisez simplement les chemins d'accès complets à chaque commande de votre script:
/bin/ls
au lieu dels
par exemple. (which ls
sur la ligne de commande pour les chemins).Il y a un étrange bug concernant les points dans le nom de fichier signalé ici . Peut s'étendre au fichier auquel vous créez un lien, bien que cela semble peu probable.
Enregistrez-vous la sortie du fichier de sauvegarde? Mettez quelque chose comme ça sur la première ligne, pour aider à déterminer s'il ne fonctionne pas du tout ou s'il fonctionne mais échoue à un moment donné.
/bin/echo "Attempting to run backup" >> /path-to-home/backup.log
Vous pouvez également essayer d'ajouter directement le script au fichier crontab:
fonctionnera à 15h30 tous les jours si la machine est allumée. utilisez * * * * * pendant le test pour exécuter une fois par minute jusqu'à ce qu'il fonctionne.
la source
Grep votre syslog pour des messages comme;
les fichiers doivent être limités à (est suffisant) à 644):
la source