研究了一下脚本,给数据库定时做全量备份,并定时删除过期(7天前)的备份。
过两天有心情,再加个e-mail命令,可以将备份发送到指定邮箱。
bakdir="/home/sqlbak/"
filename="`date +%y%m%d`.sql"
backname="`date +%y%m%d`.tar.gz"
backusername = "sqlbakuser"
if [ ! -x "${bakdir}" ];then
mkdir ${bakdir}
fi
cd ${bakdir}
mysqldump ${backusername} > ${filename}
tar zcf ${backname} ${filename}
rm -f ${filename}
lastfilename="`date +%y%m%d --date '7 days ago'`.tar.gz"
rm -f ${lastfilename}
说明:
第一行指定备份的目录,我这里是/home/sqlbak ,你可以修改为你需要的目录
文件名命名规则是 前缀 date
+ 年月日 + .sql
, 最终保存的是名为.tar.gz
后缀的压缩文件
注意提前建立名为sqlbakuser的具有备份权限的mysql用户
将该脚本加入到定时启动中,每天定时启动即可。我一般设置为凌晨2~4点
服务器上我没做定时发送邮件的原因,是我做了一个定时任务在本地,每天定时从服务器上scp下来备份文件,如果没有下载成功,重试几次后本地报警,比较方便。
从百度点进来的,学习学习,呵呵!