Sauvegarde automatique de la base de données
Bonjour,
Je possède un site internet avec Cpanel et je souhaite mettre en place une sauvegarde automatique de la base de données qui se lance via une tâche cron.
Je sais qu'on peut procéder ainsi:
Code:
0 0 * * * /usr/bin/mysqldump -u db_username -p db_password db_name > /backup/path/backup.sql
Sauf que je souhaite si possible passer par un fichier .sh lancé par la tâche cron et qui créé cette sauvegarde.
Code:
1 2 3 4 5 6 7 8 9
| #!/bin/bash
STAMP=`date +%Y-%m-%d_%H-%M-%S`
SOURCE=/home/monsite/public_html
DEST=/home/monsite/bck
/usr/bin/mysqldump -u utilisateur -p'motdepasse' basededonnes > $SOURCE/basededonnes$STAMP.sql
env GZIP=-9 tar czf $DEST/basededonnes$STAMP.tar.gz $SOURCE/
#sql dump file is packaged in the tar.gz and then removed.
rm $SOURCE/basededonnes$STAMP.sql |
Mais j'ai alors reçu cet email à chaque fois que la tâche cron est lancée:
Code:
1 2 3 4
| mysqldump: Got error: 1044: "Access denied for user 'utilisateur'@'localhost' to database 'basededonnes'" when using LOCK TABLES
tar: Removing leading `/' from member names
tar (child): /home/monsite/bck/basededonnes-02-21_20-24-01.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now |
J'ai ajouté rajouté --skip-lock-tables dans la ligne débutant par /usr/bin/mysqldump
Mais ça ne fonctionne toujours pas:
Code:
1 2 3
| tar: Removing leading `/' from member names
tar (child): /home/monsite/bck/basededonnees2023-02-21_20-44-02.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now |
Je ne souhaite pas que la tâche soit bloquée lors de la sauvegarde sinon il y aura des erreurs si une requête est lancée au même moment.
Même si je donne tous les privilège à l'utilisateur MySql et que je supprime le --skip-lock-tables ça ne fonctionne pas:
Code:
1 2 3
| tar: Removing leading `/' from member names
tar (child): /home/monutilisateur/bck/basededonnees2023-02-21_20-49-02.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now |
Sauriez vous où est mon erreur ?
Actuellement, dans CPanel la tâche cron se lance simplement avec:
Code:
/home/monutilisateur/public_html/bck/script.sh
Merci d'avance