博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux系统中mysql自动备份脚本
阅读量:5016 次
发布时间:2019-06-12

本文共 1460 字,大约阅读时间需要 4 分钟。

 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 "\n"

      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.

 

转载于:https://www.cnblogs.com/wanghuaijun/p/5826034.html

你可能感兴趣的文章
Android 屏幕触摸事件之诡----dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent,onTouch...
查看>>
GDI编程开发
查看>>
分核桃
查看>>
单独给类添加XIB文件的步骤及注意点
查看>>
POJ 1204-Word Puzzles解题报告
查看>>
zen cart 数据库缓存简介
查看>>
类别和协议
查看>>
scala性能测试
查看>>
web应用中Spring ApplicationContext的动态更新
查看>>
vertor容器
查看>>
python 函数基础2
查看>>
iOS9调用系统字体的推荐方法
查看>>
jQuery 调用后台方法(net)
查看>>
获取到的值再做拼接test测试
查看>>
转载 :c# 获取net framework 版本(Environment 类)
查看>>
自定义一个代码耗时计数工具类
查看>>
「洛谷5283」「LOJ3048」「十二省联考2019」异或粽子【可持久化01trie+优先队列】...
查看>>
Google是如何做测试的(三、四)【转载】
查看>>
小程序中父子组件间的通信与事件
查看>>
Pig系统分析(8)-Pig可扩展性
查看>>