文档章节

linux定时备份MySQL数据库并删除七天前的备份文件

Carl_
 Carl_
发布于 2015/02/02 17:33
字数 544
阅读 2715
收藏 13
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#备份地址
backupdir=/home/mysqlbackup
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S `
#需要备份的数据库名称
db_name=test
#mysql 用户名
db_user=root
#mysql 密码
db_pass=123456
mysqldump -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
#删除一分钟之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mmin +1 -exec rm -rf {} \; > /dev/null 2>&1

保存退出

说明:

代码中 time=` date +%Y%m%d%H `也可以写为time=”$(date +”%Y%m%d$H”)”
其中`符号是TAB键上面的符号,不是ENTER左边的’符号,还有date后要有一个空格。
db_name:数据库名;
db_user:数据库用户名;
db_pass:用户密码;
-type f    表示查找普通类型的文件,f表示普通文件。
-mtime +7   按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前

-exec rm {} ;   表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个,最后是一个分号。
/dev/null 2>&1  把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的&表示让该命令在后台执行。

定时执行

bak_config 文件代码如下

#every day exec
0 0 * * * /home/bak_sh/bak_day.sh
#every week exec
0 0 * * 0 /home/bak_sh/bak_week.sh
#every month exec
0 0 1 * * /home/bak_sh/bak_month.sh

先用查询状态命令查询crond状态,如果处在停止状态则须先启动;如已在启动状态,则无须理会。

操作命令如下:

  /sbin/service crond start 启动

  /sbin/service crond restart 重启

  /sbin/service crond stop 停止

  /sbin/service crond status 查询状态

查看服务是否已经运行用 

ps -ax | grep cron

查看调度任务
crontab -l //列出当前的所有调度任务
crontab -r   //删除所有任务调度工作

添加调度任务

crontab /home/bak_sh/bak_config


本文转载自:http://blog.sina.com.cn/s/blog_621f9b110101pfp1.html

Carl_
粉丝 42
博文 387
码字总数 12168
作品 0
广州
私信 提问
加载中

评论(2)

Carl_
Carl_ 博主

引用来自“Neoman”的评论

很好,正需要
只写了一半..定时还未加上
Neoman
Neoman
很好,正需要
Windows自动删除n天前的文件的批处理脚本

数据库每天备份文件,然而只需要保留七天的备份即可,编写一个批处理脚本文件自动删除七天前的文件并设置定时任务 自动删除文件需要用到forfiles命令 forfiles参数: /p 指定的路径 /s 包括子...

itzhongxin
2017/07/03
0
0
Debian下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日

说明: 1、备份MySQL数据库存放目录/var/lib/mysql下面的osyunweidata数据库到/home/mysqldata里面,并且保存为osyunweidatabak20120630.tar.gz的压缩文件格式(201206_30是指备份执行时当天的...

cookqq
2013/07/10
82
0
windows下定期清理超过一定时间的文件

windows下定期清理超过一定时间的文件 背景 linux下当我们想定期清理超过7天无修改的日志或备份文件,可以通过以下命令来完成: find $path -type f -mtime|-ctime +7 -exec rm -f {} ; win...

双鱼座小龙
2016/01/16
0
0
mysqldump备份指定mysql数据库脚本

前几天有朋友让帮忙写一个mysql数据备份脚本,于是就有了下文通过mysqldump命令备份数据库的脚本,贴出来跟大家交流,若有问题,请指正,谢谢。 实现功能: 1 备份指定的数据库 2 删除指定天...

xjxiaolei
2017/07/19
0
0
Mysql自动备份脚本

我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysqldata里面,并且保存为mysqldatabak20120411.tar.gz的压缩文件格式(201204_11是指备份执行时当天的日期), ...

sentu
2017/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.4K
15
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
41
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
40
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
61
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部