Linux下Mysql数据库备份
今天一同事的电脑无缘无故坏了,找了IT部门检测说是硬盘坏了,数据无法恢复。好悲剧。自己博客也写了好久不容易,要是突然间数据丢了那怎么办!于是写了个数据库自动备份脚本,并创建任务计划,实现每天22:30点自动备份远程数据库功能。
1、创建备份脚本
[root@toughhou www]# cat wwwbak.sh
#!/bin/bash
server="toughhou.gotoftp3.com"
user="mysql_user"
password="mysql_pwd"
bakdir="/home/tough/www/remotebak"
date=$(date +%Y%m%d)
#构造log文件名,$0-获取执行的shell文件名(wwwbak.sh),最后log文件名格式为:20131031_wwwbak.log
log="/home/tough/www/"$date"_"`echo "$0" | rev | cut -c 4- | rev`".log"
#如果log文件不存在就创建
if [ ! -f $log ]
then
touch $log
fi
#使用mysql前需判断mysql服务是否已经启动,如果没有的话则启动mysql服务
netstat -altn | grep 3306
if [ $? -ne 0 ]
then
service mysqld restart >> $log
fi
#登陆mysql,取得houxiaolongr下的所有数据库名称
dbs=$(echo "show databases;" | mysql -u$user -p$password -h$server)
#如果备份目录不存在,则新建
if [ ! -d $bakdir ]; then
mkdir -p $bakdir
fi
cd $bakdir
for db in ${dbs}
do
#information_schema是系统自带的数据库,Database是"show databases;"命令输出的一个标题而已,所以此处过滤掉它们
if [ $db != 'information_schema' -a $db != 'Database' ]; then
bakfile=$date"_"$db".sql"
#用mysqldump命令把数据库备份到文件
mysqldump -u$user -p$password -h$server $db > $bakfile
fi
done
#备份完成后把相关信息以邮件形式发送
mail -s "$0 bakup completed <$date>" "toughhou@126.com" < $log
2、把备份脚本加入任务调度计划
#创建任务
[root@toughhou www]# crontab -e
30 22 * * * (sh /home/tough/www/wwwbak.sh > /home/tough/www/crontab.log)
#重启crond服务使新任务生效
[root@toughhou www]# service crond restart
关于邮件发送部分,可参考:
关于任务调度计划部分,可参考:
Linux下Mysql数据库备份的更多相关文章
- linux下mysql定时备份数据库
linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈 一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...
- Linux下MySQL的备份与还原
Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- Linux下MySQL数据库的备份与恢复
Linux下MySQL数据库的备份与恢复 作者:Grey 原文地址: Github 语雀 博客园 基于版本 MySQL5.7 Deepin Linux 15.11 xtrabackup-2.4.18 ...
- linux下mysql数据库的操作
本文主要针对linux下mysql数据库的安装,以及数据库的创建和简单的数据库操作进行说明. ①.Mysql数据库的安装: 数据库的安装分为源码安装和rpm安装. 当然对于老手来说需要进行一些自定义的 ...
- 记录--linux下mysql数据库问题
本次主要记录一下linux下mysql数据库的一些问题,也是之前经常用到的知识,这里简单总结一些问题,方便自己以后的回顾.原来一直使用的是阿里云的RDS数据库mysql版,主要是因为上次阿里云做活动可 ...
- Ubuntu Server下MySql数据库备份脚本代码
明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar. ...
- Linux下mysql定时备份及恢复
备份 1.数据库定时备份工作脚本:(日期时间作为名称的压缩文件,解压开是sql脚本) /root/backup/script/backup_mysql.sh 2.备份输出路径: /root/backu ...
- linux篇--mysql数据库备份并删除前一分钟的数据
linux 中mysql数据库定时备份并删除前一分钟的所有数据 #!/bin/bash #mysqldump -uroot -ppassword01! imaginebase > /home/b ...
随机推荐
- spring mvc 使用Optional
return Optional.ofNullable(brokerRepository.findOne(id)) .map(broker -> new ResponseEntity<> ...
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bug来源: 一直在看sift然后就手贱的给 opencv源码做注释,如果在vs里面打开会一直相安无事,但是问题出在我用了notepad++. 这样就报了标题的错误. 因为notepad++会以uni ...
- KindEditor编辑器, 利用ajax动态切换编辑器内容
// 后台成功返回数据后的js处理 KindEditor.remove('#content_id'); // 先移除之前创建的编辑器 var editor = KindEditor.create('# ...
- 关于修改Eclipse工作空间对应的文件夹名称之后的处理.
把文件夹名字从"xhkong"变成"xhkong(maintenance5.6)"之后打开这个工作空间. 导入git仓库我发现了一个之前没有发现的小技巧. 导入 ...
- StringBuilder 类
表示可变字符字符串.无法继承此类. 此类表示值为可变字符序列的类似字符串的对象.之所以说值是可变的,是因为在通过追加.移除.替换或插入字符而创建它后可以对它进行修改.有关比较,请参见 String 类 ...
- 新增html元素的使用
今天学习HTML5中新增元素的使用 (Ⅰ)新增主体结构元素 Section元素:用于对网站或应用程序中的内容进行分块. <section> <h1></h1> &l ...
- C#算法基础之插入排序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- .NET中开源CMS目录
提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,.net和java的高端的cms系统也逐渐 ...
- PHP之HMVC
HMVC(Hierarchical-Model-View-Controller),也可以叫做 Layered MVC.顾名思义,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 ...
- [求助]谁能给我讲解一下,iOS编程要如何实时显示采集到的图像???
rt,最近搞一个高清图传,本着自(bu)主(mai)创(da)新(jiang)的原则,打算利用手中的iPad当作辅助飞行屏幕,USB传输数据.再说某疆图传7999(还只支持自家云台录像拍照),哪是我这 ...