8710 sujets

Développement web côté serveur, CMS

Bonjour à tous,

je tente d'automatiser la sauvegarde de mes bases mysql ( mon serveur ne permettant pas de programmer une tâche de sauvegarde des données je le faisait jusqu'à présent manuellement).

J'ai donc créer un petit script en PHP qui boucle sur une liste de base de données et exécuter une à une, une commande shell :

$output = exec('[mon_path]\mysqldump -u [mon_user] -p[mon_mot_de_passe] '.$row['Database'].' > save_sql/'.$filename);


Il s'execute sans erreur et ne m'affiche rien dans $output. Je vais mon répertoire cible (save_sql) je retrouve tous mes fichiers .sql sauf qu'ils sont vides Smiley decu

Une erreur de syntaxe ? j'ai beau retourner dans tous les sens le script je ne trouve rien ! Smiley biggol

Merci à tous !
En PHP, la commande peut aussi être lancée avec system("mysqldump ....."),c'est la commande que j'utilise pour les dump mySql

Avez-vous accès au log du serveur ?
Il serait intéressant de jeter un coup au log erreur de mysql pour en apprendre d'avantage
Hello,

pour ton problème, essaye de lancer la commande mysqldump depuis une console, pour voir si ça te retourne quelque chose. (car visiblement ça n'a pas l'air d'être le cas !)

sinon je fais des backup sql de cette manière :

- Un fichier de script bash (ou batch windows) avec la commande :
mysqldump -uuser -pmdp database > /data/BackupBDD/Fichiers/$(date +%d-%m-%Y).sql

user et mdp étant respectivement l'utilisateur et son mot de passe.
- Un Cronjob (ou tâche planifiée si sur Windows) pour lancer le bash à intervalle régulier.
- Un autre Cron pour copier sur un autre serveur les données récupérées (fichier date.sql).
Apparemment cela viendrai de problème de droit d'utilisateur Smiley ohwell
j'ai accès depuis un script php avec mysql_connect(...) mais pas en exec( )

Sachant que mon utilisateur est open partout XD ; projet remis à plus tard ; je ne peux perdre plus de temps sur cette partie Smiley ohwell çà devra donc attendre que je trouve une bulle d'air pour respirer Smiley smile

Merci à vous !