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.

linux系统中mysql自动备份脚本的更多相关文章

  1. Mysql 自动备份脚本

    转自: Mysql 自动备份脚本2 - - ITeye技术网站http://kangh.iteye.com/blog/2309091 备份方案: 备份主机:192.168.10.11 数据库服务器:1 ...

  2. Linux 下的 mysql 自动备份

    Linux 下实现自动备份,主要就是编写好执行备份的 shell script( *.sh )文件,设好权限(可读,可执行).然后利用 Linux 定时任务 crontab 来执行备份脚本就可以了.以 ...

  3. mysql自动备份脚本

    linux系统mysql5.6版本实现自动备份步骤 1.sudo mysql --help | grep my.cnf 查找my.cnf文件2.在文件中添加如下行实现免输入密码[mysqldump]u ...

  4. python编写Mysql自动备份脚本

    1、先写一个python脚本 vim /opt/mysql_dump.py #!/usr/bin/env python# -*- coding:utf-8 -*-import osimport tim ...

  5. ubuntu server 11.10 mysql 自动备份脚本

    1.下载最新的备份脚本(AutoMySQLBackup) 点这里下载 2.修改脚本配置部分 vi  /root/automysqlbackup-2.5.1-01.sh USERNAME=root PA ...

  6. windows下远程访问Linux系统中mysql

    1,查询MySQL数据库是否允许远程ip访问,命令如下: sql语句: use mysql; select host, user from user; 查询结果为127.0.0.1或者localhos ...

  7. linux下mysql自动备份脚本

    脚本放在 /home/user/mysql_backup.sh crontab # crontab -l # m h  dom mon dow   command 28 16 * * * /home/ ...

  8. Linux 下Mysql自动备份脚本

    backdb.sh 文件 #!/bin/bash USER="root" PASSWORD="888888" DATABASE="mydb" ...

  9. linux系统下mySQL数据库 备份方法和脚本

    数据库备份1.创建个备份存储目录mkdir /root/backup/2.以下内容写到dbbackup.sh #!/bin/bash cd /data/db_backup/mysqldump -uad ...

随机推荐

  1. CodeForces 392C Yet Another Number Sequence 矩阵快速幂

    题意: \(F_n\)为斐波那契数列,\(F_1=1,F_2=2\). 给定一个\(k\),定义数列\(A_i=F_i \cdot i^k\). 求\(A_1+A_2+ \cdots + A_n\). ...

  2. 谋哥:搞APP,做得累的都不对!

    最近谋哥(微信viyi88)我刚加入“秦王会”,思想收到猛烈地冲击,各位大佬的思维有时候会让我大脑短路,收获不少.同时,我也慢慢发现我一直平静的 心开始浮躁,我发现苗头不对,于是开始静下心来.静下心, ...

  3. 28、editText只输入英文字母和'-',用于授权码输入

    InputFilter filter = new InputFilter() { @Override public CharSequence filter(CharSequence source, i ...

  4. 微信小程序开发 -- 设置屏幕亮度

    wx.setScreenBrightness(OBJECT) 设置屏幕亮度. OBJECT参数说明: 参数 类型 必填 说明 value Number 是 屏幕亮度值,范围 0~1,0 最暗,1 最亮 ...

  5. TensorFlow学习笔记(6):TensorBoard之Embeddings

    本文基于TensorFlow官网的How-Tos写成. TensorBoard是TensorFlow自带的一个可视化工具,Embeddings是其中的一个功能,用于在二维或三维空间对高维数据进行探索. ...

  6. HDU2013 蟠桃记【递推】

    Problem Description 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少 ...

  7. BZOJ3990 [SDOI2015]排序 【搜索】

    题目 小A有一个1-2^N的排列A[1..2^N],他希望将A数组从小到大排序,小A可以执行的操作有N种,每种操作最多可以执行一次,对于所有的i(1<=i<=N),第i中操作为将序列从左到 ...

  8. 《快速开发》通过Maven创建WebService项目Hello World!

    有多快? 整个过程3分钟.不用下载jar包,不用一步一步创建Web Project... 你需要的就是在Maven库里选一个archetype,然后一路Next~ 先看结果: 准备好了吗?我们起飞: ...

  9. java面试题之如何判断一个对象是否应该被回收

    常用的有两种办法: 引用计数法:(无法解决对象循环引用的问题,导致对象无法被回收) 可达性分析:

  10. bzoj 2300 [HAOI2011]防线修建 set动态维护凸包

    题目大意 动态删点,求凸包周长 分析 反过来变成动态加点 用set维护平衡树 具体是找到凸包上左右两点 拆开 就可以把左边当作顺时针求的一个凸包,右边当作逆时针求的一个凸包,像栈那样出set就好了 注 ...