...
| Sv translation |
|---|
|
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 7 Tage sind. Dazu einfach folgendes in die Kommandozeile als root kopieren und ausführen - <password> mit den entsprechenden Passwort ersetzen: | Translations Ignore |
|---|
| Code Block |
|---|
| CONFIG_mysql_dump_username='root'
CONFIG_mysql_dump_password='<password>'
CONFIG_backup_dir='/home/jtel/shared/backup/sql'
CONFIG_mysql_dump_host='localhost'
URI="http://downloads.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz"
cd /home/jtel
mkdir -p /home/jtel/automysqlbackup
mkdir -p ${CONFIG_backup_dir}
chown -R jtel:jtel /home/jtel/automysqlbackup
chown -R jtel:jtel /home/jtel/shared/backup
cd /home/jtel/automysqlbackup
curl -O -L ${URI}
tar xfvz ${URI##*/}
cp automysqlbackup.conf automysqlbackup.conf.orig
cp automysqlbackup automysqlbackup.orig
# remove parameter '--password' to fall back to .my.cnf
sed -i -e 's/--password="${CONFIG_mysql_dump_password}" //' automysqlbackup
cat << EOF > /home/jtel/.my.cnf
[client]
user = ${CONFIG_mysql_dump_username}
password = ${CONFIG_mysql_dump_password}
host = ${CONFIG_mysql_dump_host}
EOF
cat /home/jtel/.my.cnf
chown -R jtel:jtel /home/jtel/.my.cnf
cat << EOF > automysqlbackup.conf
CONFIG_mysql_dump_username="${CONFIG_mysql_dump_username}"
CONFIG_mysql_dump_password="${CONFIG_mysql_dump_password}"
CONFIG_mysql_dump_host="${CONFIG_mysql_dump_host}"
CONFIG_backup_dir="${CONFIG_backup_dir}"
# Include CREATE DATABASE in backup?
CONFIG_mysql_dump_create_database='yes'
# Separate backup directory and file for each DB? (yes or no)
CONFIG_mysql_dump_use_separate_dirs='no'
# Master Data
CONFIG_mysql_dump_master_data=2
# Single Transaction
CONFIG_mysql_dump_single_transaction='yes'
# List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... )
# set to (), i.e. empty, if you want to backup all databases
#CONFIG_db_names=()
# List of databases for Monthly Backups.
# set to (), i.e. empty, if you want to backup all databases
#CONFIG_db_month_names=()
# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'performance_schema' )
# Include routines
CONFIG_mysql_dump_full_schema='yes'
# Rotation Settings
# Which day do you want monthly backups? (01 to 31)
# If the chosen day is greater than the last day of the month, it will be done
# on the last day of the month.
# Set to 0 to disable monthly backups.
#CONFIG_do_monthly="01"
# Which day do you want weekly backups? (1 to 7 where 1 is Monday)
# Set to 0 to disable weekly backups.
#CONFIG_do_weekly="5"
# Set rotation of daily backups. VALUE*24hours
# If you want to keep only today's backups, you could choose 1, i.e. everything older than 24hours will be removed.
#CONFIG_rotation_daily=6
# Set rotation for weekly backups. VALUE*24hours
#CONFIG_rotation_weekly=35
# Set rotation for monthly backups. VALUE*24hours
#CONFIG_rotation_monthly=150
# No SSL Connection to server
CONFIG_mysql_dump_usessl='no'
EOF
/home/jtel/automysqlbackup/automysqlbackup /home/jtel/automysqlbackup/automysqlbackup.conf
cat << 'EOF' > automysqlbackup.cron
#!/bin/bash
su - jtel -c '/home/jtel/automysqlbackup/automysqlbackup /home/jtel/automysqlbackup/automysqlbackup.conf'
EOF
chmod 750 automysqlbackup.cron
sudo ln -s /home/jtel/automysqlbackup/automysqlbackup.cron /etc/cron.daily
chown -R jtel:jtel /home/jtel/automysqlbackup
chown -R jtel:jtel /home/jtel/shared/backup |
|
|
| Sv translation |
|---|
|
Créer une Sauvegarde -MySQL (un seul des Maîtres)
La sauvegarde MySQL est créée sur le serveur maître. Le serveur effectue une sauvegarde quotidienne et supprime tous les fichiers de plus de 7 jours.
Copiez simplement ce qui suit dans la ligne de commande en tant que root et exécutez-le - remplacez <password> par le mot de passe correspondant :
| Translations Ignore |
|---|
| Code Block |
|---|
|
CONFIG_mysql_dump_username='root' CONFIG_mysql_dump_password='<password>' CONFIG_backup_dir='/home/jtel/shared/backup/sql' CONFIG_mysql_dump_host='localhost' URI="http://downloads.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz" cd /home/jtel mkdir -p /home/jtel/automysqlbackup mkdir -p ${CONFIG_backup_dir} chown -R jtel:jtel /home/jtel/automysqlbackup chown -R jtel:jtel /home/jtel/shared/backup cd /home/jtel/automysqlbackup curl -O -L ${URI} tar xfvz ${URI##*/} cp automysqlbackup.conf automysqlbackup.conf.orig cp automysqlbackup automysqlbackup.orig # remove parameter '--password' to fall back to .my.cnf sed -i -e 's/--password="${CONFIG_mysql_dump_password}" //' automysqlbackup cat << EOF > /home/jtel/.my.cnf [client] user = ${CONFIG_mysql_dump_username} password = ${CONFIG_mysql_dump_password} host = ${CONFIG_mysql_dump_host} EOF cat /home/jtel/.my.cnf chown -R jtel:jtel /home/jtel/.my.cnf cat << EOF > automysqlbackup.conf CONFIG_mysql_dump_username="${CONFIG_mysql_dump_username}" CONFIG_mysql_dump_password="${CONFIG_mysql_dump_password}" CONFIG_mysql_dump_host="${CONFIG_mysql_dump_host}" CONFIG_backup_dir="${CONFIG_backup_dir}" # Include CREATE DATABASE in backup? CONFIG_mysql_dump_create_database='yes' # Separate backup directory and file for each DB? (yes or no) CONFIG_mysql_dump_use_separate_dirs='no' # Master Data CONFIG_mysql_dump_master_data=2 # Single Transaction CONFIG_mysql_dump_single_transaction='yes' # List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... ) # set to (), i.e. empty, if you want to backup all databases #CONFIG_db_names=() # List of databases for Monthly Backups. # set to (), i.e. empty, if you want to backup all databases #CONFIG_db_month_names=() # List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. (). CONFIG_db_exclude=( 'information_schema' 'performance_schema' ) # Include routines CONFIG_mysql_dump_full_schema='yes' # Rotation Settings # Which day do you want monthly backups? (01 to 31) # If the chosen day is greater than the last day of the month, it will be done # on the last day of the month. # Set to 0 to disable monthly backups. #CONFIG_do_monthly="01" # Which day do you want weekly backups? (1 to 7 where 1 is Monday) # Set to 0 to disable weekly backups. #CONFIG_do_weekly="5" # Set rotation of daily backups. VALUE*24hours # If you want to keep only today's backups, you could choose 1, i.e. everything older than 24hours will be removed. #CONFIG_rotation_daily=6 # Set rotation for weekly backups. VALUE*24hours #CONFIG_rotation_weekly=35 # Set rotation for monthly backups. VALUE*24hours #CONFIG_rotation_monthly=150 # No SSL Connection to server CONFIG_mysql_dump_usessl='no' EOF /home/jtel/automysqlbackup/automysqlbackup /home/jtel/automysqlbackup/automysqlbackup.conf cat << 'EOF' > automysqlbackup.cron #!/bin/bash su - jtel -c '/home/jtel/automysqlbackup/automysqlbackup /home/jtel/automysqlbackup/automysqlbackup.conf' EOF chmod 750 automysqlbackup.cron sudo ln -s /home/jtel/automysqlbackup/automysqlbackup.cron /etc/cron.daily chown -R jtel:jtel /home/jtel/automysqlbackup chown -R jtel:jtel /home/jtel/shared/backup |
|