注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

isblog主页

或许不一定要做得最多,但一定要做得最好! 能力就是一种财富,积累越多,就越体现你

 
 
 

日志

 
 

定时每天备份mysql并定时删除上月记录(脚本)  

2012-08-06 16:02:29|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
shell脚本: 备份的脚本比较简单: #!/bin/bash # 定义年 月 日 year =` date +%Y ` month =` date +%m ` day =` date +%d ` # 定义备份的目录 BACKDIR =/ bak_1 / mysql / $year / $month / $day # My SQL 的root密码 ROOTPASS = 123456 # 建立目录 mkdir -

shell脚本:

备份的脚本比较简单:

#!/bin/bash



# 定义年 月 日

year=`date   +%Y`

month=`date   +%m`

day=`date   +%d`



# 定义备份的目录

BACKDIR=/bak_1/mysql/$year/$month/$day



# MySQL的root密码

ROOTPASS=123456



# 建立目录

mkdir -p $BACKDIR



# 获取数据库列表

DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`



# 备份

for dbname in $DBLIST

do

mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR logger -t mysqlhotcopy

done
复制代码

上面的脚本将

数据

库按"年/月/日"目录结构备份,将脚本存为back.sh添加到cron里每天凌晨3点执行


00 03 * * * root /root/back.sh



下面的是每月3号删除上个月的备份,存为del_bak.sh,每月3号3点3分执行


03 03 03 * * root /root/del_bak.sh



注意脚本上传后,要chmod一下权限,比如chmod 755 /root/back.sh

#!/bin/bash



# 定义年 月 日

year=`date   +%Y`

month=`date   +%m`

#day=`date   +%d`



# 取上一个月

month=`expr $month - 1`  



# 如果是1月,则上一月为12,并且年也减1

  
if [ $month -eq 0 ]; then

     month
=12

     day
=31

     year
=`expr $year - 1`  

  
fi



# 因为备份时小于10月的月份有前导零,所以这里判断如果小于10月,则加前导零

  
if [ $month -lt 10 ]; then

     pre
=0  

   fi



#获取要删除的目录名

BACKDIR=/bak1/mysql/$year/$pre$month



#删除了

rm -rf $BACKDIR

  评论这张
 
阅读(580)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017