MySQL--自動(dòng)備份腳本
最近需要對(duì)某服務(wù)的數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行備份,因此參考網(wǎng)上教程完成數(shù)據(jù)庫(kù)備份腳本。
因?yàn)榉?wù)的使用頻率較低,因此設(shè)置定時(shí)任務(wù),在每天定時(shí)進(jìn)行備份操作。
#!/bin/bash # 設(shè)置mysql的登錄用戶名和密碼(根據(jù)實(shí)際情況填寫) mysql_user="root" mysql_password="root" mysql_host="localhost" mysql_port="3306" mysql_charset="utf8" mysql_database="isajc" # 備份文件存放地址(根據(jù)實(shí)際情況填寫) backup_dir=/home/ftpuser/MySQL_backup # 是否刪除過期數(shù)據(jù) expire_backup_delete="ON" expire_days=7 log_time=`date '+%Y-%m-%d %H:%M:%S'` backup_time=`date +%Y%m%d%H%M` welcome_msg="[${log_time}] Welcome to use MySQL backup tools!" # 判斷mysql實(shí)例是否正常運(yùn)行 mysql_ps=`ps -ef |grep mysql |wc -l` mysql_listen=`netstat -an |grep LISTEN |grep ${mysql_port}|wc -l` if [ [${mysql_ps} == 0] -o [${mysql_listen} == 0] ]; then echo "ERROR:MySQL is not running! backup stop!" exit else echo ${welcome_msg} fi # 備份指定數(shù)據(jù)庫(kù) mysqldump -h${mysql_host} -P${mysql_port} -u${mysql_user} -p${mysql_password} -B ${mysql_database} > ${backup_dir}/${mysql_database}-${backup_time}.sql flag=`echo $?` if [ ${flag} == "0" ];then echo "database ${mysql_database} success backup to ${backup_dir}/${mysql_database}-${backup_time}.sql" else echo "database ${mysql_database} backup fail!" fi # 刪除過期數(shù)據(jù) if [ "${expire_backup_delete}" == "ON" -a "${backup_dir}" != "" ];then `find ${backup_dir}/ -type f -mtime +${expire_days} -name "*.sql" | xargs rm -rf` echo "Expired backup data delete complete!" fi
以上是數(shù)據(jù)庫(kù)備份腳本.
編輯定時(shí)任務(wù):
crontab -e
# 添加定時(shí)任務(wù)(每天12:50以及23:50執(zhí)行備份操作)
50 12,23 * * * cd /home/ftpuser/MySQL_backup/;sh mysql_backup.sh>>backup.log 2>&1
本文來自博客園,作者:業(yè)余磚家,轉(zhuǎn)載請(qǐng)注明原文鏈接:http://www.rzrgm.cn/yeyuzhuanjia/p/13536338.html

浙公網(wǎng)安備 33010602011771號(hào)