zoukankan      html  css  js  c++  java
  • linux系统中mysql自动备份脚本

     mysql数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要做好备份,但是手工备份确实比较麻烦,每天都要手工操作一次,如果站多的话简直是一种折磨,不过好在我们可以通过编写好的脚本让系统自动备份数据,省去体力劳动。下面收集了几种自动备份mysql数据库的脚本,一般的站够用了,但要注意:如果数据库过大,或者系统设置不当,都可能导致自动备份失败,因此即使采用了自动备份,也要记得经常查看是否备份成功,以及备份的数据是否完整、可用。

      只需要将下面的脚本内容保存为mysqlbackup.sh,并添加到crontab即可。如在ssh中输入:
    crontab -e
    输入:
    00 00 * * * /home/website/mysqlbackup.sh
    即为每天00:00自动运行备份脚本。

        1、自动导出mysql备份,并上传到指定ftp

    #!/bin/bash

    #ftp设置

    Host=FTP_IP

    Username=FTP_user

    Passwd=FTP_passwd

    #备份mysql并导出到文件

    mysqldump -u用户 -p密码 数据库名 > $(date +%Y%m%d)-数据库名.sql

    #压缩备份文件

    tar -zcvf $(date +%Y%m%d)mysql数据库名.tar.gz $(date +%Y%m%d)*

    #上传到ftp

    echo "open $Host

          user $Username $Passwd

          bin

          cd /hzg/

          prompt off

          mput $(date +%Y%m%d)mysql数据库名.tar.gz

          printf " "

          close

          bye"|ftp -i -n

    #删除旧的备份文件

    rm -rf $(date +%Y%m%d)-数据库名.sql $(date +%Y%m%d)mysql数据库名.tar.gz

    #rm -rf $(date +%Y%m%d)*

    rm -rf $(date +%Y%m%d)*

    2、自动备份mysql数据库,并发送到指定email

    #备份并导出mysql数据库到文件

    mysqldump -uroot -ppassword --databases db1 db2 db3 > /home/website/backups/databackup.sql

    #压缩备份文件

    tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/

    #发送到指定邮箱

    echo "主题:数据库备份" | mutt -a /home/website/backups/mysqlbackup.sql.tar.gz -s "内容:数据库备份" www@gmail.com

    #删除旧的备份文件

    rm -r /home/website/backups/*

    将-ppassword中的password换为自己的root密码,将db1 db2 db3换为你需要备份的数据库名。路径和邮箱等自己替换即可。

    也可以用下面的命令直接导出mysql备份为压缩文件:

    mysqldump -u用户 -p密码 数据库名 | gzip -c > $(date +%Y%m%d)-数据库名.sql.

  • 相关阅读:
    java生成4个不同的随机数
    前端学习(三十二)正则(笔记)
    前端学习(三十一)canvas(笔记)
    前端学习(三十)es6的一些问题(笔记)
    前端学习(二十九)nodejs(笔记)
    前端学习(二十八)es6&ajax(笔记)
    前端学习(二十七)存储&es6(笔记)
    前端学习(二十七)自动构造工具交互(笔记)
    前端学习(二十六)移动端s(笔记)
    前端学习(二十四)一些总结(笔记)
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/5826034.html
Copyright © 2011-2022 走看看