Script de sauvegarde dans crontab

Bonjour,

(yunohost 3.6.5.3 sur raspberry 3, applications : nextcloud, wallabag)

L’idée est simple : faire des backup régulièrement et supprimer les anciens backup pour ne pas encombrer la microsd.
J’ai donc fait ce script nommé bckp.sh dans /usr/local/bin :

admin@pierre sudo nano /usr/local/bin/bckp.sh

#!/bin/bash
rm /home/yunohost.backup/archives/.**
yunohost backup create

puis
admin@pierre sudo chmod +x /usr/local/bin/bckp.sh

ensuite je crée une entrée dans crontab :

admin@pierre sudo crontab -e

#par exemple :
15 2 * * * /usr/local/bin/bckp.sh

je valide, et quand l’heure est passée pour la tâche, il ne se passe rien, l’ancien backup est toujours là dans /home/yunohost.backup/archives, et pas de nouveau backup supplémentaire !
j’ai essayé en mettant root /usr/local/bin/bckp.sh, ou bash, ou sh, rien n’y fait.
Pourtant les commandes sont valides lorsque je les teste seules dans un terminal.
Quelque chose m’échappe. Merci pour un tuyau.

Est-ce que tu as vérifié les mails envoyé a root ou a ton utilisateur admin, qui peut-etre contiennent des infos sur l’execution du cron ?

Ou eventuellement il y a aussi des logs de cron qui trainent dans un fichier dans /var/log …

No mail for root
No mail for admin
Dans /var/log pas de trace de log de cron non plus

Le script, je le verrai plutôt comme ça :
/usr/local/bin/bckp.sh :

#!/bin/bash

automatic_backup_folder=/home/yunohost.backup/archives/automatic_backup

# Vérification si le dossier existe
if [[ ! -d $automatic_backup_folder ]]
then
    mkdir $automatic_backup_folder
fi

# Supression des anciennes sauvegardes
sudo rm -r ${automatic_backup_folder}/*

# Sauvegarde
sudo yunohost backup create -o $automatic_backup_folder

et puis dans le crontab, un truc du genre (depuis l’utilisateur admin ou root par exemple) :

15 2 * * * /usr/bin/bash /usr/local/bin/bckp.sh

Je n’ai pas testé le script (donc teste-le avant :wink: ) et dis-moi si ça fonctionne.

Aussi si crontab -e ne marche pas, peut-être mettre directement un ficheir dans /etc/cron.d/

1 Like

Merci frju365 et Aleks, voilà des nouvelles :
frju365 ton script (sans /usr/bin/bash) me crée bien un nouveau dossier automatic_backup dans /home/yunohost.backup/archives, mais il n’y a rien dedans. Avec /usr/bin/bash rien ne se passe. ?
Par contre j’ai compris pourquoi le crontab ne fonctionnait pas : pour le tester je le faisais toujours fonctionner 3 à 4 minutes plus tard.
C’est c®on mais l’heure de mon raspberry retarde d’une heure :upside_down_face: je ne sais pas pourquoi (c’est même pas l’heure d’été !), ce qui fait que mon test ne pouvait pas fonctionner, enfin si, mais 1 heure plus tard …
C’est ballot . Désolé pour le dérangement. (Mais ça fait quand même trois jours que je planche dessus)

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.