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 "\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自动备份脚本的更多相关文章
- Mysql 自动备份脚本
转自: Mysql 自动备份脚本2 - - ITeye技术网站http://kangh.iteye.com/blog/2309091 备份方案: 备份主机:192.168.10.11 数据库服务器:1 ...
- Linux 下的 mysql 自动备份
Linux 下实现自动备份,主要就是编写好执行备份的 shell script( *.sh )文件,设好权限(可读,可执行).然后利用 Linux 定时任务 crontab 来执行备份脚本就可以了.以 ...
- mysql自动备份脚本
linux系统mysql5.6版本实现自动备份步骤 1.sudo mysql --help | grep my.cnf 查找my.cnf文件2.在文件中添加如下行实现免输入密码[mysqldump]u ...
- python编写Mysql自动备份脚本
1、先写一个python脚本 vim /opt/mysql_dump.py #!/usr/bin/env python# -*- coding:utf-8 -*-import osimport tim ...
- ubuntu server 11.10 mysql 自动备份脚本
1.下载最新的备份脚本(AutoMySQLBackup) 点这里下载 2.修改脚本配置部分 vi /root/automysqlbackup-2.5.1-01.sh USERNAME=root PA ...
- windows下远程访问Linux系统中mysql
1,查询MySQL数据库是否允许远程ip访问,命令如下: sql语句: use mysql; select host, user from user; 查询结果为127.0.0.1或者localhos ...
- linux下mysql自动备份脚本
脚本放在 /home/user/mysql_backup.sh crontab # crontab -l # m h dom mon dow command 28 16 * * * /home/ ...
- Linux 下Mysql自动备份脚本
backdb.sh 文件 #!/bin/bash USER="root" PASSWORD="888888" DATABASE="mydb" ...
- linux系统下mySQL数据库 备份方法和脚本
数据库备份1.创建个备份存储目录mkdir /root/backup/2.以下内容写到dbbackup.sh #!/bin/bash cd /data/db_backup/mysqldump -uad ...
随机推荐
- 关于.net 项目 nuget包还原项目失败的记录
在.net项目中,一般通过vs打开项目,会自动进行nuget包还原,可能因为其他一些因素,包还原失败,同时在之前包依赖是可以正常使用,现在却提示包 AutoMapper 6.2.2 与 netcore ...
- mysql 对时间的处理
引自: @author:http://www.cnblogs.com/geaozhang/ 可能的需求: 当前时间是多少.下个月的今天是星期几.统计截止到当前日期前 3 天的收入总和…… 上述需求就需 ...
- 03_HibernateSessionFactory源码分析
文章导读: 讲解了一个线程为什么要使用同一个connection, 我们分析了HiberatenSessionFactory的实现机制, 然后根据Hibernate的写法重构了我们的代码. 最后测试可 ...
- day03_01 Python历史、32bit和64bit系统的区别
先看一下讲师的笔记,有python介绍 在python2.6版本之后,想清理一些东西,追求简单明了,就直接升级到了python3.0 但是python3.0导致很多企业都不更新,因为有很多企业的网站代 ...
- C# 数组 之间转换
List<string> strLen = new List<string>(); if (!string.IsNullOrEmpty(group_id) ...
- 精通CSS高级Web标准解决方案(2-1 可视化格式模型之框模型)
浮动.定位.框模型这些控制在页面上安排和显示元素的方式,形成CSS布局. 盒子模型 页面上的每个元素都被看成一个矩形框. 盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型.他们对盒子模型 ...
- [python学习篇][廖雪峰][1]高级特性--列表生成式
>>> import os >>> [d for d in os.listdir(r"d:\temp")] ['0.png', '0.xml', ...
- zabbix基于LNMP安装
安装依赖 yum install pcre* #为了支持rewrite功能 yum install openssl openssl-devel yum install gcc make gd-deve ...
- linux监控平台搭建-内存
linux监控平台搭建-内存 上一篇文章说的硬盘.就写一下.更加重要的东西.在手机上面是RAM.机器是memory.内存是按照字节编址.每个地址的存储单元可以存放8bit的数据.cpu 通过内存地址获 ...
- 需要打印真实尺寸大小等需求的,css的单位可以使用mm等做单位
今天甲方那边改需求了,要求打印出来的尺寸是85mm/55mm的,开始还一直在网上找px和mm的相关换算,结果去w3c看了,竟然还有mm单位的, 在这里做个笔记