Linux shell脚本--mysql全备计划任务
2016-07-22 18:33
459 查看
#Linux下mysql的全备计划任务_shell小脚本,适用于数据量较小的mysql。 #!/bin/bash PORT='5001' USER='admin' PASSWD='admin' SOCKED="/data/socket/mysql${PORT}.sock" BACKUP_FILE='/data/mysql/backup' #注意磁盘空间情况 BACKUP_SAVE_DAYS='2'#删除N天之前的 CMD1='show databases;' Time=`date +%Y%m%d_%H%M%S` EVERY_DAY_BACKUP_DIR="${BACKUP_FILE}/${Time}_backup" DB_LIST="${EVERY_DAY_BACKUP_DIR}/db_list.txt" #数据库名字存放文件 # function : check_db ===> db_list.txt check_db() { mkdir -pv ${EVERY_DAY_BACKUP_DIR} >>/dev/null touch ${DB_LIST} && chmod 755 ${DB_LIST} && chown -R mysql.mysql ${DB_LIST} /usr/local/mysql/bin/mysql -u${USER} -p${PASSWD} -S ${SOCKED} -NBe"${CMD1}"|grep -v 'information_schema\|performance_schema\|mysql'>${DB_LIST} } # function : backup_db ===>xx.sql backup_db() { /usr/local/mysql/bin/mysqldump -u${USER} -p${PASSWD} -S ${SOCKED} $1 >> ${EVERY_DAY_BACKUP_DIR}/$1.sql } # function : tar_file ===>xx.tar.gz tar_file() { cd ${BACKUP_FILE} tar -cf `date +%Y%m%d_%H%M%S`.tar.gz ${Time}_backup rm -fr ${Time}_backup } # function : delete xx.tar.gz : <before n days> delete_file() { cd ${BACKUP_FILE} /usr/bin/find -name "*.tar.gz" -mtime +${BACKUP_SAVE_DAYS} -exec rm {} \; } # execute_main_process # 1 check_db # 2 cat ${DB_LIST}| while read line do oldIFS=${IFS} backup_db ${line} IFS=${oldIFS} sleep 20 done # 3 tar_file # 4 #delete xx.tar.gz : before n days delete_file ${BACKUP_SAVE_DAYS} #----end #注意: #1.mysql的连接方式是指定socket文件,可以灵活更改。 #2.将每个库都备份成一个sql文件,然后全部压缩成x.tar.gz文件。每天生产一个。 #3. 可以适当更改脚本,备份单个库,单个表。 #crontal 计划任务:每天凌晨1点备份 #0 1 * * * /bin/bash /data/mysql/backup/backup.sh
相关文章推荐
- 一步一步教你创建SQL 2005计划任务应用图解教程
- MySQL数据备份之mysqldump的使用详解
- 详解MySQL数据备份之mysqldump使用方法
- 使用MySQL MySqldump命令导出数据时的注意事项
- 最简便的MySql数据库备份方法MySQLdump第1/2页
- MySQL的备份工具mysqldump的基础使用命令总结
- PHP定时执行计划任务的多种方法小结
- JavaScript计划任务后台运行的方法
- linux下改良版本mysqldump来备份MYSQL数据库
- Mysql导入导出工具Mysqldump和Source命令用法详解
- php中定时计划任务的实现原理
- Linux VPS 计划任务crond命令的使用方法分享
- mysqldump备份还原和mysqldump导入导出语句大全详解
- MySQL的mysqldump工具用法详解
- mysqldump造成Buffer Pool污染的研究
- 使用mysqldump对MySQL的数据进行备份的操作教程
- 解析mysqldump的delay-insert选项
- mysqldump数据库备份参数详解
- mysqldump命令导入导出数据库方法与实例汇总
- PHP使用mysqldump命令导出数据库