【MySQL】MySQL之备份自动化脚本
2018-03-15 13:51
337 查看
库级备份
分表备份
参考:涂抹MySQL
[root@strong backup]# more mysql_full_backup.sh #!/bin/sh source /usr/local/mysql/backup/mysql_env.ini DATA_PATH=/usr/local/mysql/backup DATA_FILE=${DATA_PATH}/whole_db_bak_`date +%F`.sql.gz LOG_FILE=${DATA_PATH}/whole_db_bak_`date +%F`.log MYSQL_PATH=/usr/local/mysql/bin MYSQL_DUMP="${MYSQL_PATH}/mysqldump -u${USER} -p${PASSWD} -A -R -x --default-character-set=utf8" echo > $LOG_FILE echo -e "======= Jobs started at `date +%F' '%T' '%w`=====\n">> $LOG_FILE echo -e "***** Executed command:${MYSQL_DUMP} | gzip > ${DATA_FILE}" >> $LOG_FILE ${MYSQL_DUMP} | gzip > ${DATA_FILE} echo -e "***** Executed Finished at `date +%F' '%T' '%w` =====" >> $LOG_FILE echo -e "***** Backup file size :`du -sh ${DATA_FILE}` =====\n" >> $LOG_FILE echo -e "---------- Find expired backup and delete those files ----------" >> $LOG_FILE for dfile in $(/usr/bin/find $DATA_PATH/ -mtime +6) do if [ -d $dfile ] ; then rmdir $dfile elif [ -f $dfile ] ; then rm -f $dfile fi echo -e "------- Delete file :$dfile ----------" >> $LOG_FILE done #echo -e "\n ===== Job ended at `date +%F' '%T' '%w`===== \n" >> $LOG_FILE
分表备份
[root@strong backup]# more mysql_full_backup_by_table.sh #!/bin/sh source /usr/local/mysql/backup/mysql_env.ini DATA_PATH=/usr/local/mysql/backup/mysql_full_tables DATA_FILE=${DATA_PATH}/whole_db_bak_by_table_`date +%F`.sql.gz LOG_FILE=${DATA_PATH}/whole_db_bak_`date +%F`.log MYSQL_PATH=/usr/local/mysql/bin MYSQL_CMD="${MYSQL_PATH}/mysql -u${USER} -p${PASSWD}" MYSQL_DUMP="${MYSQL_PATH}/mysqldump -u${USER} -p${PASSWD} --single-transaction -l " echo > $LOG_FILE echo -e "======= Jobs started at `date +%F' '%T' '%w`=====\n">> $LOG_FILE for dbs in `${MYSQL_CMD} -e "show databases" | sed '1d' | egrep -v "information_schema|mysql|performance_schema|sys"` do mkdir -p ${DATA_PATH}/${dbs} echo -e "***** Database :${dbs} Backup Start Time :`date +%F' '%T' '%w` *****\n" >> $LOG_FILE for tbs in `${MYSQL_CMD} -D $dbs -e "show tables" | sed '1d'` do echo -e "##### Begin $dbs.$tbs Dump ! Start Time :`date +%F' '%T' '%w`" >>$LOG_FILE echo -e " Execute Command : ${MYSQL_DUMP} --tables $dbs $tbs | gzip > ${DATA_PATH}/$dbs/$dbs_$tbs.sql.gz" >> $LOG_FILE ${MYSQL_DUMP} --tables $dbs $tbs | gzip > ${DATA_PATH}/$dbs/$dbs_$tbs.sql.gz echo -e "##### End $dbs.$tbs Dump ! Stop Time :`date +%F' '%T' '%w`\n" >> $LOG_FILE echo >> $LOG_FILE done echo -e "***** Database :$dbs Backup Stop Time :`date +%F' '%T' '%w` *****" >> $LOG_FILE echo -e "***** Backup file size :`du -sh ${DATA_PATH}/$dbs` *****\n" >> $LOG_FILE done echo -e "---------- Find expired backup and delete those files ----------" >> $LOG_FILE for dfile in $(/usr/bin/find $DATA_PATH/ -mtime +6) do if [ -d $dfile ] ; then rmdir $dfile elif [ -f $dfile ] ; then rm -f $dfile fi echo -e "------- Delete file :$dfile ----------" >> $LOG_FILE done #echo -e "\n ===== Job ended at `date +%F' '%T' '%w`===== \n" >> $LOG_FILE
参考:涂抹MySQL
相关文章推荐
- MySQL自动化备份脚本_升级版
- mysql、mongoDB自动化备份脚本与恢复命令
- MySQL自动化(全量+增量)备份脚本代码
- MySQL自动化(全量+增量)备份脚本
- mysql日志备份脚本
- mysql 网站程序自动备份脚本
- MySQL备份脚本
- mysql 主从备份监控slave状态nagios脚本
- Shell脚本自动备份MySQL到FTP并定期清理过期备份
- 一个Mysql备份脚本
- Mysql 数据库自动备份Shell脚本
- 用shell脚本自动化备份数据库
- 使用python脚本实现mysql目录的备份
- linux 通过cp文件的方法来备份mysql脚本
- windows下mysql备份脚本
- mysql全库备份/增量备份脚本
- mysql自动批量备份脚本
- mysql全量和增量备份脚本
- Windows下简单的Mysql备份BAT脚本分享
- MySQL mysqldump备份脚本