数据库自动备份及自动删除备份

自动备份脚本

#!/bin/bash
DATABASE=databasename
UNAME=用户
PWORD=密码
# 保存位置
BAKDIR=/home/dbback/
mysqldump -u$UNAME -p$PWORD $DATABASE | gzip > $BAKDIR$DATABASE$(date +%Y%m%d%H%M%S).sql.gz
rm -rf  $DATABASE$(date -d '1 week ago' +%Y%m%d)*

自动删除30天的备份

cat delbak.sh
#!/bin/sh
location="/home/dbback/"
find $location -mtime +30 -type f |xargs rm -f

ps:
location 是设置查找的目录
--mtime +30 是设置时间为30天前
-type f 这周查找的类型为文件

然后加入crontab定时来删除:

代码如下:

crontab -l
10 4 1 * * /bin/sh /root/soft_shell/delbak.sh
# 设定为每个月1号晚上4点10分执行脚本.当然你也可以根据你自己的需求去整.

相同的删除方法:

代码如下:

find /root/sqlbak -mtime +30 -type f -name *.gz -exec rm -f {} \;

你可能感兴趣的:(数据库自动备份及自动删除备份)