Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révisionLes deux révisions suivantes
fr:sauver_serveur [2019/06/09 14:51] – On ne met pas de point dans un titre... zatalyzfr:sauver_serveur [2020/12/25 20:12] – [Sauvegarde des bases mysql via un script] plus propre zatalyz
Ligne 22: Ligne 22:
 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 régulier via cron.  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 régulier via cron. 
  
-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'être en ligne, car ils peuvent consommer pas mal de ressources.)) :  +''backupmysql.sh'' se charge de sauvegarder, de façon séparée, chacune des tables utiles, tout en incrémentant le nom du fichier de sauvegarde avec la date du jour. En bonus, la sauvegarde d'un annuaire LDAP (adaptez à vos besoins !). Puis il supprime les plus anciennes sauvegardes, sinon ça devient le bazar et ça prend de la place :
- +
-  30 0 * * * /home/user/backup/backup.sh +
-  30 1 * * * /home/user/backup/balai.sh +
-  +
-''backup.sh'' se charge de sauvegarder, de façon séparée, chacune des tables utiles, tout en incrémentant le nom du fichier de sauvegarde avec la date du jour. En bonus, la sauvegarde d'un annuaire LDAP à la fin :+
  
 <code bash>#!/bin/bash <code bash>#!/bin/bash
 +# Variable pour avoir la date du jour 
 TODAY=$(date +%Y-%m-%d) TODAY=$(date +%Y-%m-%d)
  
-/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt etherpad > /home/user/backup/$TODAY-etherpad-mysqldump.sql +# Sauvegarde des tables 
-/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt smf > /home/user/backup/$TODAY-smf-mysqldump.sql +/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt etherpad > /home/user/mysqlbackup/$TODAY-etherpad-mysqldump.sql 
-/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt teampass > /home/user/backup/$TODAY-teampass-mysqldump.sql +/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt smf > /home/user/mysqlbackup/$TODAY-smf-mysqldump.sql 
-/usr/bin/ldapsearch -xLLL -D "cn=admin,dc=monserveur,dc=net" -w $(cat /home/user/.ldapassword) > /home/user/backup/$TODAY-exportKLDAP.ldif +/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt teampass > /home/user/mysqlbackup/$TODAY-teampass-mysqldump.sql 
-</code>+/usr/bin/ldapsearch -xLLL -D "cn=admin,dc=monserveur,dc=net" -w $(cat /home/user/.ldapassword) > /home/user/mysqlbackup/$TODAY-exportKLDAP.ldif
  
-Adaptez ce script à vos propres besoins. S'assurer que les fichiers ''/home/user/.password'' et ''/home/user/.ldapassword'' contiennent bien le mot de passe de root (mysql et ldap)... et que les droits sont donnés, en lecture, uniquement à l'utilisateur qui va lancer le script. 
- 
-''balai.sh'' supprime les plus anciennes sauvegardes, sinon ça devient le bazar et ça prend de la place : 
- 
-<code bash>#!/bin/bash 
-  
 # Nettoie le dossier "Backup" régulièrement, afin qu'il ne prenne pas trop de place. # Nettoie le dossier "Backup" régulièrement, afin qu'il ne prenne pas trop de place.
  
Ligne 52: Ligne 41:
 # On efface celles ayant plus de 15 jours # On efface celles ayant plus de 15 jours
 find $mysqldump -type f -mtime +15 -exec /bin/rm -f {} \; find $mysqldump -type f -mtime +15 -exec /bin/rm -f {} \;
- 
 </code> </code>
  
 +S'assurer que les fichiers ''/home/user/.password'' et ''/home/user/.ldapassword'' contiennent bien le mot de passe de root (mysql et ldap)... et que les droits sont donnés, en lecture, uniquement à l'utilisateur qui va lancer le script.
  
 +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.
 +
 +
 +Exemple de cron :le script se lance tous les jours à 00H30((Il vaut mieux lancer les scripts de sauvegarde au moment où vos utilisateurs ont peu de chance d'être en ligne, car ils peuvent consommer pas mal de ressources.)) : 
 +
 +  30 0 * * * /home/user/backup/backupmysql.sh
 + 
 ===== 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 ====
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/sauver_serveur.txt · Dernière modification : 2022/04/25 11:20 de zatalyz

Licences Mentions légales Accueil du site Contact