Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.
Répondre

Script sauvegarde base de donnée

#1Messageil y a 4 ans

Bonjour,

J'ai "essayé" de réaliser un script de sauvegarde de la base de données sql de notre forum,

Mais à chaque fois j'ai l'erreur suivante :

mysqldump Got error : 1044: "Access denied for user 'xxxx@'localhost' to database '
Voici le script :

#!/bin/bash

#Variable du forum

user_forum="xxxxxx"
password_forum="xxxxxxxx"
host_forum="xxxxxxxxx"
dbname_forum="xxxxxxxx.sql"
date="date +%Y-%m-%d"

#Autres options

backup_path="/home/xxxxxx/Sauvegardes_bd_forum/"
date=$(date +%Y-%m-%d)

#Permissions
mysqldump --single-transaction -u $user_forum -p $dbname_forum > $dbname_forum

#Sauvegarde de la base de donnée du forum
mysqldump -h $host_forum -u $user_forum -p $password_forum -r $backup_path/backup_$date.sql $dbname_forum

#Compression de la base de données
tar -czvf $backup_path/backup_$date.tar.gz $backup_path/backup_$date.sql

#Suppression de la base de donnée du dossier de Filezilla
rm $backup_path/backup_$date.sql

#Suppression des fichiers plus vieux d'une semaine
find $backup_path/* -mtime +7 -exec rm {} \;
Pourriez-vous m'expliquer mes erreurs et vérifier si mon format de date est le bon en sachant que dans le cron j'y ai mis :

59	23	*	*	*  +la commande.sh
Merci :rendre::rendre:

Script sauvegarde base de donnée

#2Messageil y a 4 ans

Hello,

Pour ce qui est du script je vais voir par contre pour le crontab :

59 */23 * * * DISPLAY=:0.0 /home/cyber/.scripts/commande

si tu ne met pas */ devant le 23 elle ne va pas ce faire toutes les 23h mais juste une fois

Edit : Pour le script

--single-transaction pour la commande mysqldump

Script sauvegarde base de donnée

#3Messageil y a 4 ans

Merci pour ta réponse.

Comme c'est on premier script, je galère un peu.

Par contre, je n'ai pas compris ton édit avec --single-transaction ?

Le crontab, il est fait via le cPanel, il ne m'offre pas d'autres choix...

Script sauvegarde base de donnée

#4Messageil y a 4 ans

Avec plaisir.

Pour crontab c'est comme cela que j'ai fait les miens et ça marche très bien. Normalement si tu ne met pas d'étoile ça va l’exécuter qu'une seule fois ( sauf si il reset les timers tout les jours )

--single-transaction permet de ne pas avoir d'erreur authentification avec mysqldump. Il faut le place au début de la commande juste après mysqldump

Cela fait longtemps que je n'ai pas fait de sql su coup je suis un peut rouiller mais si tu galère je peut crée une base de donnée en local et voir pour ton script directement et voir la ou ça merde.

Script sauvegarde base de donnée

#5Messageil y a 4 ans

Merci,

Ça m'aiderait beaucoup, car là, après une multitude d'essais, j'ai toujours des erreurs.

Script sauvegarde base de donnée

#6Messageil y a 4 ans

Ok je fait ça courant de la semaine car j'ai beaucoup de boulot.

Script sauvegarde base de donnée

#7Messageil y a 4 ans

Hello,

J'ai tester quelques petite chose mais pour le moment je n'ai pas réussi a faire quelque chose de correct.
Je vais me tester à nouveau quand j'aurai un peut plus de temps.
En attendant je te conseil de regarder sur des forums si tu ne trouve pas un script déjà fait qui peut répondre a tes besoins.
Répondre