Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| fr:sauver_serveur [2016/05/27 14:28] – créée zatalyz | fr:sauver_serveur [2022/04/25 09:20] (Version actuelle) – [Sauvegarde des bases mysql via un script] Obsolète ou pas zatalyz | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Processus de sauvegarde sur un serveur. ====== | + | ====== Processus de sauvegarde sur un serveur ====== |
| - | Il peut arriver | + | Il peut arriver |
| - | Pour que les sauvegardes servent à quelque chose, il faut qu' | + | <WRAP center round todo 60%> |
| + | Cet article aurait besoin d' | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour que les sauvegardes servent à quelque chose, il faut qu' | ||
| Pensez que votre serveur peut être piraté... mais aussi que le disque dur peut lâcher brusquement ou disparaître dans un incendie. Dans ce cas, comment remettrez-vous les données en ligne ? | Pensez que votre serveur peut être piraté... mais aussi que le disque dur peut lâcher brusquement ou disparaître dans un incendie. Dans ce cas, comment remettrez-vous les données en ligne ? | ||
| Ligne 15: | Ligne 20: | ||
| ===== Sauvegarde des bases mysql via un script ===== | ===== Sauvegarde des bases mysql via un script ===== | ||
| - | Un certain nombre de CMS passent par des bases de données type mysql. Vous pouvez sauvegarder toutes ces bases en un script, lancé à intervalle | + | Un certain nombre de CMS passent par des bases de données type mysql. Vous pouvez sauvegarder toutes ces bases en un script, lancé à intervalle |
| - | Exemple de cron, le premier script se lançant tous les jours à 00H30, le second à 1H30((Il vaut mieux lancer les scripts de sauvegarde au moment où vos utilisateurs ont peu de chance d' | + | <WRAP center round alert 60%> |
| + | Cette partie est probablement en partie obsolète. Ne copiez pas bêtement, lisez tout soigneusement, utilisez | ||
| + | </ | ||
| - | 30 0 * * * / | + | '' |
| - | 30 1 * * * / | + | |
| - | + | ||
| - | '' | + | |
| - | <code bash># | + | |
| + | <code bash backupmysql.sh># | ||
| + | # Variable pour avoir la date du jour | ||
| TODAY=$(date +%Y-%m-%d) | TODAY=$(date +%Y-%m-%d) | ||
| - | / | + | # Sauvegarde des tables |
| - | / | + | / |
| - | / | + | / |
| - | / | + | / |
| + | / | ||
| + | |||
| + | # Nettoie le dossier " | ||
| + | |||
| + | # On se fait une jolie variable qui imite le nom des fichiers de sauvegarde, avec leur chemin complet, pour éviter d' | ||
| + | mysqldump='/ | ||
| + | |||
| + | # On efface celles ayant plus de 15 jours | ||
| + | find $mysqldump -type f -mtime +15 -exec /bin/rm -f {} \; | ||
| </ | </ | ||
| - | Adaptez ce script à vos propres besoins. | + | S' |
| - | '' | + | Avant de lancer le script, vérifier que les dossiers existent, l'user est le bon, puis testez, avant de mettre le cron en place. |
| - | <code bash># | ||
| - | |||
| - | #Nettoie le dossier " | ||
| - | #On se fait une jolie variable qui imite le nom des fichiers | + | Exemple de cron : le script |
| - | mysqldump='/ | + | |
| - | #On efface ceux ayant plus de 15 jours | + | 30 0 * * * /home/user/ |
| - | find $mysqldump -type f -mtime +15 -exec /bin/rm -f {} \; | + | |
| - | </ | + | <WRAP center round todo 100%> |
| + | Le fonctionnement de Mariadb a changé, et il semblerait qu'il faille changer le script de la façon suivante, en le lançant en root : | ||
| + | < | ||
| + | Crontab associé (depuis l'user root, donc) : | ||
| + | < | ||
| + | 00 1 * * * / | ||
| + | Vérifier soigneusement avant de faire confiance... | ||
| + | </ | ||
| + | |||
| + | |||
| ===== Rsync sur les données vers un serveur distant ===== | ===== Rsync sur les données vers un serveur distant ===== | ||
| ==== Copie des données distantes ==== | ==== Copie des données distantes ==== | ||
| Ligne 57: | Ligne 75: | ||
| <code script.sh bash># | <code script.sh bash># | ||
| - | for var in $(cat / | + | for var in $(cat / |
| </ | </ | ||
| Ligne 109: | Ligne 127: | ||
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| - | Pour que ces scripts fonctionnent, | + | Pour que ces scripts fonctionnent, |
| </ | </ | ||
| Ligne 124: | Ligne 142: | ||
| iptables-saves > 2016-02-17-iptables-saves | iptables-saves > 2016-02-17-iptables-saves | ||
| + | ===== Pouvoir récupérer des données sur un autre serveur ===== | ||
| + | Lors d'une réinstallation, | ||
| + | |||
| + | ssh-keygen -t rsa | ||
| + | |||
| + | Puis copier cette clé sur le serveur qui a les sauvegardes, | ||
| + | ssh-copy-id -i ~/ | ||
| + | |||
| + | Comme ça peut durer un moment ces trucs, protéger un peu l' | ||
| + | nano .ssh/ | ||
| + | |||
| + | S' | ||
| + | |||
| + | Et ajouter l'ip devant la clé de " | ||
| + | from=" | ||
| + | |||
| + | Ensuite, on fait un cd pour se placer là où on veut récupérer les données sauvées, puis un rsync : | ||
| + | cd / | ||
| + | rsync -av moncomptedesauvegarde@serveursauvegarde.com:/ | ||
| + | |||
| + | * -av signifie | ||
| + | * -a ou --archive : raccourci pour la récursivité et préserver les droits etc. | ||
| + | * -v : verbose, avec des détails. | ||
| + | * moncomptedesauvegarde@serveursauvegarde.com : à adapter pour se connecter au serveur de sauvegarde | ||
| + | * :/ | ||
| + | * . : à copier dans le dossier courant | ||
| + | * 2>&1 > rsynctrace.txt : va faire un fichier de " | ||
| + | |||
| + | ==== Dans le sens inverse ==== | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Je garde la démarche ci-dessous "au cas où" mais ça va bien plus vite de récupérer depuis un serveur de sauvegarde en ligne. Je laisse l' | ||
| + | </ | ||
| + | |||
| + | J'ai eu un souci pour faire rsync vers mon serveur perso, ce dernier ayant un port non standard pour ssh. | ||
| + | |||
| + | Du coup, j' | ||
| + | ssh-copy-id -i ~/ | ||
| + | |||
| + | Pour rsync : | ||
| + | rsync -av ./ | ||
| + | Donc : du dossier vers le serveur. Tout simple. | ||
| - | {{tag> | + | {{tag> |





