[转]Mysql自动备份并保存近15天记录脚本
本脚本主要现实在CentOS中实现对MySQL数据库的备份和保留最近十五天的备份文件。避免太多无用陈旧的备份占用空间。
#!/bin/bash
id='root' #用户名
pwd='123123' #密码
dbs='conedu commlib' #数据库名字的列表,多个数据库用空格分开。
backuppath='/home/webuser/mysqlbackup' #保存备份的位置
day=15 #保留最近几天的备份
[ ! -d $backpath ] &&mkdir -p $backuppath #判断备份目录是否存在,不存时新建目录。
cd $backuppath #转到备份目录,这句话可以省略。可以直接将路径到命令的也行。
backupname=mysql_$(date +%Y-%m-%d) #生成备份文件的名字的前缀,不带后缀。
for db in $dbs; #dbs是一个数据名字的集合。遍历所有的数据。
do
mysqldump --skip-opt -u$id -p$pwd -S /var/lib/mysql/mysql.sock $db >$backupname_$db.sql #备份单个数据为.sql文件。放到当前位置
if [ "$?" == "" ] #$? 得到上一个shell命令的执行的返回值。0表示执行成功。其他表示错误。并将将结果写入到日志中。
then
echo $(date +%Y-%m-%d)" $db mysqldump sucess">>mysql_back.log
else
echo $(date +%Y-%m-%d)" $db mysql dump failed">>mysql_back.log
exit 0
fi
done
tar -czf $backupname.tar.gz *.sql #压缩所有sql文件
if [ "$?" == "" ]
then
echo $(date +%Y-%m-%d)" tar sucess">>mysql_back.log
else
echo $(date +%Y-%m-%d)" tar failed">>mysql_back.log
exit 0
fi
rm -f *.sql #删除所有的sql文件
delname=mysql_$(date -d "$day day ago" +%Y-%m-%d).tar.gz #得到要删除的太旧的备份的名字。
rm -f $delname #删除文件。
只要在 /etc/crontab中添加一行,就可以在指定时间,自动备份了
注:
id='root' #用户名
pwd='' #密码 双引号出问题了 改成单引号就好了
解压.tar.gz文件:
tar -zxvf web.tar.gz
tar不支付解压文件到指定的目录!
注意:使用 mysqldump 备份数据库时避免锁表
对一个正在运行的数据库进行备份请慎重!! 如果一定要 在服务运行期间备份,请添加 --skip-opt选项,否则备份记录不全
类似执行: mysqldump --skip-opt -u root --password=123456 dbname >mySQL.SQL
[转]Mysql自动备份并保存近15天记录脚本的更多相关文章
- centos下yum安装crontab+mysql自动备份
参考博文: centos下yum安装crontab yum install vixie-cron crontabs //安装 chkconfig crond on ...
- Mysql自动备份工具1.0(2013年11月15日更新)
Mysql自动备份工具1.0 下载地址 2013-11-15 1.解决日历控件在Windows7/8/8.1环境下遮挡按钮问题:2.解决按月备份当月没有该日期问题: 2013-11-13 1.Mysq ...
- mysql自动备份维护shell脚本 (copy)
#!/bin/bash #Mysql 自动备份 压缩并上传到 指定ftp #设想每天凌晨3点备份mysql #编辑crontab配置文件 # * * * backupmysql.sh #压缩并以&qu ...
- Windows下mysql自动备份的最佳方案
网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...
- Windows下MYSQL自动备份批处理
windows下MYSQL自动备份批处理 2011-05-04 09:16:45| 分类: mysql|举报|字号 订阅 按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.b ...
- Mysql自动备份与还原 转
Mysql自动备份与还原 一.自动备份:将以下代码保存为*.bat批处理脚本,然后再添加Windows定时作业,如每天凌晨2点执行:set s=%date:~0,4%%date:~5,2%%date: ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- Mysql 自动备份脚本
转自: Mysql 自动备份脚本2 - - ITeye技术网站http://kangh.iteye.com/blog/2309091 备份方案: 备份主机:192.168.10.11 数据库服务器:1 ...
- MySql自动备份shell
MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...
随机推荐
- Laravel 单元测试
前言 今天是第十三周周一,虽然接下来的时间会比较忙,比如各科的课设.考试.磨锤子.但是还是有种涅槃重生的感觉,昨晚的睡眠确实不怎么样,但是今天十分精神,已经想不起来多久没有这么早起了~让我累并快乐着吧 ...
- CRM中的一个函数,保存一下,别系统被ぅ崩坏就麻烦了.
CREATE OR REPLACE function UXQLCRM.GET_WEI_XIU(htfid in varchar2) ); CURSOR cr_bg_jl is select " ...
- Python之路Day2
-->the start 养成好习惯,每次上课的内容都要写好笔记. 第二天内容主要是熟悉int.long.float.str.list.dict.tuple这几个类的内建方法. 对于Python ...
- ReactiveCocoa学习资料
ReactiveCocoa 学习资料: ReactiveCocoa入门教程:第一部分 http://www.cocoachina.com/ios/20150123/10994.html Reactiv ...
- C#调用matlab出错r6034错误解决方法[转载]
在c#调用MATLAB时,在运行第一次会出现r6034错误. 解决方法如下: 1.在MCR安装目录下D:\Program Files\MATLAB\MATLAB Compiler Runtime\v7 ...
- QT 子窗口监听主窗口信号(超级简单,但是好用,比如主窗口移动的时候,子窗口不要再继续处理任务)
MainWindow *ptr = NULL; ptr = (MainWindow*)parentWidget(); connect(ptr, SIGNAL(param_result(bool)), ...
- Noip2008提高组总结
Noip2008前三题是基础题,仔细一些都是可以AC的,第四题的证明很巧妙,但是看懂后代码其实很简单,感觉在这些大家都不屑去做的简单题中又学到了不少,四道题代码基本都是十几二十行就够了,渐渐感觉到,比 ...
- C++模板:Dijkstra+优先队列
#include <cstdio> #include <cstring> #include <queue> #include <utility> usi ...
- JS获取整个HTML网页代码 - Android 集美软件园 - 博客频道 - CSDN.NET
JS获取整个HTML网页代码 - Android 集美软件园 - 博客频道 - CSDN.NET JS获取整个HTML网页代码 分类: Android提高 2012-01-12 23:27 1974人 ...
- 基于RYU控制器(controller)上的simple-switch 的APP做的測试-SDN/OpenFlow
近期一直在学习RYU控制器,在使用的过程中,发现有下面几方面的长处:RYU控制器全然使用Python语言编写,在理解起来和上手速度上是挺快的:RYU控制器的总体架构清晰明了,在日后有时间我会整理一个关 ...