mysqlバックアップスクリプトおよびタイミングタスク


データは企業の最も貴重な資源であり、メンテナンス担当者としてデータベースのデータをバックアップすることは特に重要な仕事であり、以下は個人が資料を検索し、個人が記録したmysqlデータベースのバックアップスクリプトをまとめ、ここに学習と復習ノートとして記録する.
(1)ライブラリバックアップスクリプト
#/bin/sh
#version 0.1
MYUSER=root
MYPASS=123123
#SOCKET=/data/3306/mysql.sock
MYLOGIN="mysql -u$MYUSER -p$MYPASS "
MYDUMP="mysqldump -u$MYUSER -p$MYPASS  -B"
DATABASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"

for dbname in $DATABASE
  do
   MYDIR=/server/backup/$dbname
   [ ! -d $MYDIR ] && mkdir -p $MYDIR
 $MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz
 done

(2)ライブラリ表バックアップスクリプト:
#/bin/sh

MYUSER=root
PASSWD=123123
#SOCKET=/data/3306/mysql.sock
MYLOGIN="mysql -u$USER -p$PASSWD "
MYDUMP="mysqldump -u$USER -p$PASSWD "
DATEBASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"

for dbname in $DATEBASE
do
 TABLE="$($MYLOGIN -e "use $dbname;show tables;"|sed '1d')"
  for tname in $TABLE
   do
MYDIR=/server/backup/$dbname/${dbname}_$(date +%F)
     [ ! -d $MYDIR ] && mkdir -p $MYDIR
 $MYDUMP $dbname $tname |gzip >$MYDIR/${dbname}_${tname}_$(date +%F).sql.gz
    done

(3)       
 crontab 
 
   :
 
  *    *    *    *    *   command
 minute   hour   day   month   week   command
  :
minute:     ,    0 59       。
hour:    ,    0 23       。
day:    ,    1 31       。
month:    ,    1 12       。
week:     ,    0 7       ,   0 7     。
command:      ,       ,             。



  :
57  21  *  *  * /bin/sh   /bash/script/back_mysql.sh