info:mysql:mysqlbackupcertainesbasesradeff

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
info:mysql:mysqlbackupcertainesbasesradeff [2023/03/20 14:46] – supprimée - modification externe (Unknown date) 127.0.0.1info:mysql:mysqlbackupcertainesbasesradeff [2023/03/20 14:46] (Version actuelle) – ↷ Page déplacée de info:mysqlbackupcertainesbasesradeff à info:mysql:mysqlbackupcertainesbasesradeff radeff
Ligne 1: Ligne 1:
 +====== Récupérer une base parmi toutes les bases dans un backup ======
  
 +====== v1 shell script ======
 +
 +su@silene1:/w3/backups/ more backup.sh 
 +<code>
 +foreach i (users pre_booking textpv LocalNumbers MainLicences companies) 
 +        /usr/local/mysql/bin/mysqldump -h servername -u userMySQL -pPasswdMySQL dbName $i | gzip &gt; $i_`date +\%d_\%m_\%Y_\%H:\%M`.sql.gz
 +end
 +</code>
 +====== v2 ======
 +
 +crontab root:
 +
 +<code>
 +00 23 * * * /home/radeff/bin/mysqldumplocal.sh  > /dev/null 2>&1
 +</code>
 +
 +et le programme:
 +
 +<code>
 +#! /usr/bin/sh
 +# Usage:
 +# mysqldumplocal.sh
 +# sauvegarder toutes les bases MySQL sauf certaines
 +# Required:
 +# mysqldump, awk, gzip
 +# source http://lists.nyphp.org/pipermail/talk/2004-October/012361.html
 +# Adapted FR, frederic.radeff@unige.ch, www.unige.ch
 +# History 1 octobre 2008, created FR
 +############
 +login=root #root login mysql
 +password=xxxxxx #passwd mysql
 +#path to mysql data directory
 +mysql_dir=/usr/local/mysql/data #on unix
 +#path to backup
 +mysql_backup=/home/radeff/backup/mysql #on unix
 +
 +#db to excludes
 +test=test
 +#test1=achats_dinf
 +#purge files before backup
 +rm /export/backup/mysql/*.sql.*
 +
 +#find the db and exclude somes
 +#ls -al $mysql_dir   | grep ^d  | egrep -v '\.[\.]?' | grep -v $test | grep -v $test1 | awk '{print $8}' | while read i
 +ls -al $mysql_dir   | grep '^d'  | egrep -v '\.[\.]?' | grep -v $test | awk '{print $9}' | while read i
 +#begin loop on results
 +do
 +#dump db, name prededed by date, extension sql
 +  echo "mysqldump $i > $mysql_backup/$i.sql"
 +  /usr/local/mysql/bin/mysqldump -u $login -p$password $i > $mysql_backup/$i.sql
 +#zip the backups
 +  gzip $mysql_backup/$i.sql
 +done
 +#end loop on results
 +#purge files after backup - seems useless
 +#rm /w3/backups/mysql/*.sql
 +#purge old files if any
 +find $mysql_backup -mtime +$memoire -name "*.gz" -type f -exec rm {} \;
 +chmod -R 700 $mysql_backup
 +echo "Backup OK on all MySQL requested DB's"
 +
 +
 +
 +</code>
 +
 +{{tag>mysql}}