目标: 每天凌晨 3 点,导出.sql,压缩,并按日期存储在/data 下
知识: 定时任务 crontab , mysqldump 导出 , tar 压缩, 按日期创建文件 date
#!/bin/bash
/usr/local/mysql/bin/mysqldump -uroot -p123456 -B test > /data/test.sql
cd /data
tar zcf test.sql.tar.gz test.sql
mv test.sql.tar.gz bak/`date -d '-1 day' +%Y%m%d`.tar.gz
old=`date -d '-1 day' +%Y%m%d`
if [ -f /data/bak/$old.tar.gz ]
then
rm -rf /data/bak/$old.tar.gz
fi
如何再把 7 天前的备份删掉 ,提醒:先通过 date 命令得到 7 天的日期,计算出 7 天前对应的文件名再用文件判断表达式,判断文件是否存在,如果存在则删掉.