码迷,mamicode.com
首页 > 数据库 > 详细

Linux shell脚本--mysql全备计划任务

时间:2016-07-22 23:22:05      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:备份   crontab   计划任务   mysqldump   

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


本文出自 “清风” 博客,请务必保留此出处http://11805203.blog.51cto.com/11795203/1828901

Linux shell脚本--mysql全备计划任务

标签:备份   crontab   计划任务   mysqldump   

原文地址:http://11805203.blog.51cto.com/11795203/1828901

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!