自动备份脚本
#!/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 {} \;