1. 新建备份脚本backup.sh。如下脚本实现将demo数据库备份到/bak目录下,并且使用gzip进行压缩。保留60天的数据。
1
2
3
4
5
6
7
8
9
|
#!/bin/bash
backdir=/bak/
datetime=`date +"%Y%m%d%H"`
filesum=`ls ${backdir} | wc -l`
if [ "${filesum}" -ge 60 ];then
cd ${backdir}
rm -rf `ls | head -1`
fi
mysqldump -uroot -p10301 demo|gzip >${backdir}demo_${datetime}.gz
|
建立脚本后需要赋予执行权限
1
|
chmod +x backup.sh
|
可以直接使用 sh backup.sh进行测试,然后查看是否已经创建对应的备份文件
2. 使用crontab -e编辑定时任务。如下所示,每天的3点过一分定时执行。
1
|
01 3 * * * /web/backup.sh
|