linux中mysql自动备份并删除5天前的备份

1.创建并编辑文件 /usr/sbin/backmysql.sh,命令:

vi /usr/sbin/backmysql.sh

内容如下:代码

db_user="root"
db_passwd="root"
db_name="db_test"
# the directory for story your backup file.you shall change this dir
backup_dir="/usr/software/backup/mysqlbackup"
# date format for backup file (dd-mm-yyyy)
time="$(date +"%Y%m%d%H%M%S")"     
mysqldump -u$db_user  -p$db_passwd $db_name  > "$backup_dir/$db_name"_"$time.sql"
find $backup_dir -mtime +5 -name "*.*" -exec rm -f {} \;

 注意 -p 和 $db_passwd之间没有空格,不然$db_passwd会被当做参数[数据库名]来解析

-type f 表示查找普通类型的文件,f表示普通文件。
-mtime +5 按照文件的更改时间来查找文件,+5表示文件更改时间距现在5天以前;如果是 -mmin +5 表示文件更改时间距现在5分钟以前。
-exec rm {} \; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。

 2.修改文件bakmysql属性,使其可执行;

[root@localhost sbin]# chmod +x /usr/sbin/backmysql.sh

3.执行脚本,检测脚本是否能正确执行

cd 到/usr/sbin/目录下 运行./backmysql.sh脚本,若正确,则/usr/software/backup/mysqlbackup目录下会生成用时间命名并压缩好的备份文件

4.创建定时任务

[root@localhost sbin]# crontab -e

#进入编辑界面,内容如下

00 23 * * * /usr/sbin/backmysql.sh

如时没有安装 crontab,需要先安装它,具体步骤请参考:
CentOS下使用yum命令安装计划任务程序crontab
使用rpm命令从CentOS系统盘安装计划任务程序crontab
crontab命令详解查看下面地址:
Crontab命令

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值