ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Mysql--Linux Mysql定期自动备份

Mysql--Linux Mysql定期自动备份

原创 Linux操作系统 作者:百联达 时间:2013-07-09 09:43:13 0 删除 编辑
本文是针对mysql数据库的全量备份,包括数据和结构。保存最新的5次备份。

一:编写脚步文件mysql_backup.sh
#!/bin/sh

# mysql_backup.sh: backup mysql databases and keep newest 5 days backup.

    db_user="root"

    db_passwd="imsuser"

    db_host="localhost"

    db_name="ims"

    # the directory for story your backup file.

    backup_dir="/backup/mysqldata"

    # date format for backup file (dd-mm-yyyy)

    time="$(date +"%d-%m-%Y")"

    # mysql, mysqldump and some other bin's path

    MYSQL="/usr/local/mysql/bin/mysql"

    MYSQLDUMP="/usr/local/mysql/bin/mysqldump"

    MKDIR="/bin/mkdir"

    RM="/bin/rm"

    MV="/bin/mv"

    GZIP="/bin/gzip"

    # check the directory for store backup is writeable

    test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

    # the directory for story the newest backup

    test ! -d "$backup_dir/backup.0/" && $MKDIR "$backup_dir/backup.0/"

    # get all databases

    #all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse 'show databases')"

    #for db in $all_db

    #do

    $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "$backup_dir/backup.0/$time.$db_name.gz"

    #done

    # delete the oldest backup

    test -d "$backup_dir/backup.5/" && $RM -rf "$backup_dir/backup.5"

    # rotate backup directory

    for int in 4 3 2 1 0

    do

    if(test -d "$backup_dir"/backup."$int")

    then

    next_int=`expr $int + 1`

    $MV "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"

    fi

    done

    exit 0;

二:赋予脚步可执行权限
chmod +x 
mysql_backup.sh

三:添加定时执行计划
vi /etc/crontab
添加:00 5 * * * root /backup/mysql_backup.sh 每日5点钟备份一次数据库

计划立即生效:service crond restart

四:补充
linux 开机自动启动

 cd /usr/bin
 ln -s -f /usr/local/jdk1.7.0_10/bin/java
 ln -s -f /usr/local/jdk1.7.0_10/bin/javac

vi /etc/rc.local

/etc/init.d/mysqld start

export JAVA_HOME=/usr/local/jdk1.7.0_10
/usr/local/apache-tomcat-6.0.37/bin/startup.sh start

export JAVA_HOME=/usr/local/jdk1.7.0_10
nohup sh /home/startTransfer.sh &


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-765845/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10年以上互联网经验,先后从事过制造业,证券业,物业行业和物流行业信息系统和互联网产品的研发,6年系统架构经验。最近关注Kubernetes微服务架构和Istio微服务治理框架。

注册时间:2013-02-05

  • 博文量
    317
  • 访问量
    1010175