mysqlバックアップスクリプトおよびタイミングタスク
データは企業の最も貴重な資源であり、メンテナンス担当者としてデータベースのデータをバックアップすることは特に重要な仕事であり、以下は個人が資料を検索し、個人が記録したmysqlデータベースのバックアップスクリプトをまとめ、ここに学習と復習ノートとして記録する.
(1)ライブラリバックアップスクリプト
(2)ライブラリ表バックアップスクリプト:
(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