Salut patrickpolbos.
Envoyé par
patrickpolbos
Je sauvegarde tous les jours sur un NAS local les fichiers de mon site.
Comment le faites vous ? Est-ce par recopie de votre disque dur ou tout simplement, une liste de fichier par la commande "copy" ?
Envoyé par
patrickpolbos
J'aimerais également pouvoir rapatrier des sauvegardes de ma base de donnée.
C'est très simple à faire. Vous créez un batch qui va exécuter la commande "mysqldump".
Je suis sous windows et j'utilise ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13
| @echo off
set PATH=%WAMPSERVER%\bin\mysql\mysql%MYSQL%\bin\;%PATH%
@echo "+--------------------------------+"
@echo "| Déchargement des tables 'Test' |"
@echo "+--------------------------------+"
@echo.
mysqldump --no-create-db --opt --databases test --result-file=Test.sql
pause
exit |
Et pour rappatrier votre base de données, c'est par la commande mysql :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| @echo off
set PATH=%WAMPSERVER%\bin\mysql\mysql%MYSQL%\bin\;%PATH%
@echo "+--------------------------+"
@echo "| Création DataBase 'Test' |"
@echo "+--------------------------+"
@echo.
mysql mysql < Test\Base_test.sql
@echo.
@echo "+-----------------------------+"
@echo "| Création Table 'Tab_access' |"
@echo "+-----------------------------+"
@echo.
mysql --database=Test < Test.sql
@echo.
@echo.
pause
exit |
Attention : vous devez indiquer où se trouve l'exécutable "mysql" ou "mysqldump" dans la variable d'environnement PATH.
Envoyé par
patrickpolbos
ces fonctions semble attaquer du linux dont je ne connais absolument rien
Dans ce cas, pourquoi parlez-vous de la crontab ? Sous windows, il s'agit du "planificateur de tâches".
Du coup, j'ai un doute. Etes-vous sous windows ou sous linux ? Si linux, quelle distribution ?
Sous Linux, un script bash pourra faire l'affaire.
Il vaut mieux mettre un script que d'utiliser directement dans la crontab la commande mysqldump.
1 2 3 4 5
| #!/bin/bash
/usr/bin/mysqldump -no-create-db -opt --database test --result-file=Test_$(date +%Y-%m-%d).sql
exit |
1) créer le fichier à vide : "touch base_test.sh" (sh veut dire shell).
2) recopier le script ci-dessus. A vous de l'adapter en fonction de votre base de données.
3) attribuer les privilèges à votre script :
1 2
| chmod +x base_test.sh
chown root:root base_test.sh |
Pourquoi mettre le script en "root" ? A cause de la crontab.
4) création dans la crontab :
puis insertion de cette ligne :
0 23 * * 5 /chemin_absolu_vers_le_script > fichier.log
Il va se déclencher tous les vendredi à 23H00.
@+
Partager