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 |
---|
|
MySQL-Backup anlegen (Nur einer der Master)Auf dem Master Server wird das MySQL-Backup angelegt. Der Server führt täglich das Backup aus und löscht alle Dateien, die älter als 14 Tage sind. Dazu einfach folgendes in die Kommandozeile als root kopieren und ausführen - <password> mit den entsprechenden Passwort ersetzen. Anschließend sollte auf /home/jtel/shared/backup/sql/daily eine Sicherung vorhanden sein. 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 -s)-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.cron /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. |