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édentes Révision précédente
fr:sauver_serveur [2019/06/09 12:51]
zatalyz On ne met pas de point dans un titre...
fr:sauver_serveur [2020/12/25 19:12]
zatalyz [Sauvegarde des bases mysql via un script] plus propre
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: 2020/12/25 19:12 par zatalyz

Licences Mentions légales Accueil du site Contact