当前位置:Gxlcms > 数据库问题 > mysql备份脚本-mysqldump

mysql备份脚本-mysqldump

时间:2021-07-01 10:21:17 帮助过:21人阅读

#!/bin/bash 2 3 PORT=5001 4 PASSWD=admin 5 SOCKED="/data/socket/mysql${PORT}.sock" 6 BACKUP_FILE=/data/mysqlData/backup 7 BACKUP_SAVE_DAYS=2 8 9 CMD1=show databases; 10 Time=`date +%Y%m%d_%H%M%S` 11 EVERY_DAY_BACKUP_DIR="${BACKUP_FILE}/${Time}_backup" 12 DB_LIST="${EVERY_DAY_BACKUP_DIR}/db_list.txt" 13 14 # function : check_db ===> db_list.txt 15 check_db() 16 { 17 mkdir -pv ${EVERY_DAY_BACKUP_DIR} >>/dev/null 18 touch ${DB_LIST} && chmod 755 ${DB_LIST} && chown -R mysql.mysql ${DB_LIST} 19 /usr/local/mysql/bin/mysql -uadmin -p${PASSWD} -S ${SOCKED} -NBe"${CMD1}"|grep -v information_schema\|performance_schema\|mysql>${DB_LIST} 20 21 } 22 23 # function : backup_db ===>xx.sql 24 backup_db() 25 { 26 /usr/local/mysql/bin/mysqldump -uadmin -p${PASSWD} -S ${SOCKED} $1 >> ${EVERY_DAY_BACKUP_DIR}/$1.sql 27 } 28 29 # function : tar_file ===>xx.tar.gz 30 tar_file() 31 { 32 cd ${BACKUP_FILE} 33 tar -cf `date +%Y%m%d_%H%M%S`.tar.gz ${Time}_backup 34 rm -fr ${Time}_backup 35 } 36 37 # function : delete xx.tar.gz : <before n days> 38 delete_file() 39 { 40 cd ${BACKUP_FILE} 41 /usr/bin/find -name "*.tar.gz" -mtime +${BACKUP_SAVE_DAYS} -exec rm {} \; 42 } 43 44 # main_process 45 # 1 46 check_db 47 48 # 2 49 cat ${DB_LIST}| while read line 50 do 51 oldIFS=${IFS} 52 backup_db ${line} 53 IFS=${oldIFS} 54 sleep 20 55 done 56 57 # 3 58 tar_file 59 60 # 4 delete xx.tar.gz : before n days 61 62 delete_file ${BACKUP_SAVE_DAYS}

 

mysql备份脚本-mysqldump

标签:ati   sock   sql   lis   find   mysq   admin   ==   mkdir   

人气教程排行