Créer un script de sauvegarde MySQL (uniquement sur un maître)Le script de sauvegarde est créé sur l'une des bases de données principales. Le serveur crée une sauvegarde continue et supprime les sauvegardes qui ont plus de 14 jours. Note - ce script échouera, si les bases de données jtel JTELWeb, JTELStats, JTELStats2 et JTELLog ne sont pas présentes. Warning |
---|
title | Attention - sans réplication |
---|
| Si l'installation n'est pas reproductible, il faut alors supprimer --master-data=2 à partir du script de sauvegarde. |
Status |
---|
colour | Red |
---|
title | Mot de passe de précaution |
---|
|
Translations Ignore |
---|
Code Block |
---|
| # CONFIGURATION *** CHANGE PASSWORD *** CONFIG_mysql_dump_username='root' CONFIG_mysql_dump_password='<password>' CONFIG_backup_dir='/home/jtel/shared/backup/sql' CONFIG_mysql_dump_host='localhost' # Create directories cd /home/jtel mkdir -p /home/jtel/jtelbackup mkdir -p ${CONFIG_backup_dir} # Create .my.cnf cat << EOF > /home/jtel/.my.cnf [client] user = ${CONFIG_mysql_dump_username} password = ${CONFIG_mysql_dump_password} host = ${CONFIG_mysql_dump_host} EOF # Create backup script cat << 'EOF' > /home/jtel/jtelbackup/jtelbackup #!/bin/bash mkdir -p /home/jtel/shared/backup/sql/daily mysqldump --add-drop-database --single-transaction --master-data=2 --add-drop-table --events --routines --triggers --databases JTELWeb JTELStats JTELStats2 JTELLog | gzip > /home/jtel/shared/backup/sql/daily/backup-$(hostname)-database-$(date +%F-%H%M%S).sql.gz find /home/jtel/shared/backup/sql/daily -type f -mtime +14 -delete EOF # Create cron script cat << EOF > /home/jtel/jtelbackup/jtelbackup.cron #!/bin/bash su - jtel -c '/home/jtel/jtelbackup/jtelbackup' EOF # Execution permissions and cron job chmod 750 /home/jtel/jtelbackup/jtelbackup chmod 750 /home/jtel/jtelbackup/jtelbackup.cron ln -s /home/jtel/jtelbackup/jtelbackup /etc/cron.daily # Ownership to jtel user chown -R jtel:jtel /home/jtel/.my.cnf chown -R jtel:jtel /home/jtel/jtelbackup chown -R jtel:jtel /home/jtel/shared/backup # Run it /etc/cron.daily/jtelbackup.cron |
|
Une fois le script exécuté, une sauvegarde doit être présente dans /home/jtel/shared/backup/sql/daily. Le script s'exécute automatiquement lorsque les jobs cron quotidiens sont exécutés. |