J'ai besoin d'exécuter un script de sauvegarde chaque nuit. Lorsque j'exécute manuellement, la sauvegarde se fait sans problème, mais j'utilise sudo crontab -e
et ajoute le script ici:
root@SF-DES-SVN:/home/svn# crontab -l
# m h dom mon dow command
@daily /home/xxx/do_backup.sh &> /tmp/do_backup.log
@daily /home/xxx/do_rm_old.sh &> /tmp/do_rm_old.log
Mais les scripts ne sont pas en cours d'exécution, dans le journal j'ai msg:
/etc/cron.daily/xxx_backups: line 3: /home/xxx/do_backup.sh: No such file or directory
En ligne 3 du script
SVN_ROOT=/home/svn/
Qui, bien sûr, existe et conserve tous mes référentiels. Mais ça me fait penser que c'est un problème de permission…
- J'ai essayé avec des modèles au lieu des annotations, même comportement.
- J'ai essayé avec des
@hourly
annotations et des travaux, mais je pense que c'est parce que la session root est ouverte.
Une idée de ce qui se passe?
METTRE À JOUR:
root@SF-DES-SVN:/# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/mapper/SF--DES--SERVER-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=fe2e0df4-cd99-4189-8eed-9d7519e2aba8 /boot ext2 defaults 0 2
#/dev/mapper/SF--DES--SERVER-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
/dev/sda3 /home/back_svn ext3 defaults,auto 0 2
UPDATE2:
Sortie pourls -la /home/siconet/do_backup.sh
-rwxrwxrwx 1 siconet siconet 1055 2014-06-05 17:57 /home/siconet/do_backup.sh
UPDATE3: J'exécute
chaque commande après être entré en tant qu'utilisateur root avec sudo su -
. Ai-je raison de supposer la root@SF-DES-SVN:/home/svn# crontab -l
liste des utilisateurs crontabs root?
do_backup.sh
. Mais ce n’est pas ce dont parle le message d’erreur, c’est qu’il ya un problème avec la ligne 3 du fichier crontab - c’est-à-dire la @daily /home/xxx/do_backup.sh …
ligne. Donc, la question est: si vous tapez sudo -i
, alors cd /root
(ou cd /
) et /home/xxx/do_backup.sh
, est-ce que ça marche? Etes-vous sûr à 100% de l’orthographe correcte et du bon répertoire? Êtes-vous sûr que ce n'est pas /home/xxx/bin/do_backup.sh
?
crontab -e
?
/home/svn/
sur le même système de fichiers que/
, ou est-ce quelque chose que vous devez monter? Il semble étrange que des permissions de fichiers soient impliquées,crontab
soit exécutées en tant que root. Cela ressemble plus à une différence entre deux environnements. Vous pouvez essayer la ligne précédenteSVN_ROOT=/home/svn
avecdf -h; ls /; ls /home
juste pour voir ce que voit le script.