一、选择备份空间
选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败、数据丢失的问题。查看服务器磁盘空间使用情况的命令为:
df -h
二、创建备份目录
这里我选择 根目录 [\] 作为备份目录,创建备份目录/backup/mysql,并进入该目录
mkdir /backup/mysql
cd /backup/mysql
三、创建备份脚本
创建一个xx.sh的文件并编辑
vim bkdbname
写入以下内容
#!/bin/bash
#这行生成是sql为后缀的文件
mysqldump -uusername -ppassword DBName > /backup/mysql/DBName_$(date +%Y%m%d_%H%M%S).sql
#这行是生成压缩文件格式,以上行二选一即可
mysqldump -uusername -ppassword DBName | gzip > /backup/mysql/DBName _$(date +%Y%m%d_%H%M%S).sql.gz
#删除7天前,后缀名为.sql.gz的备份文件。
workdir="/backup/mysql"
do_delete()
{
echo file name is $workdir
find $workdir -name '*.sql.gz' -and -mtime +7 -type f -delete
if [ $? -eq 0 ];then
echo $date delete $dir success!
else
echo $date delete $dir FAILD!
fi
}
do_delete
四、添加可执行权限
chmod u+x bkdbname.sh
五、添加计划任务
- 执行命令
crontab -e
。如果出现提示信息:command not found
,可参考文章:安装crontab,自行完成安装。 - 这时就像使用vi编辑器一样,可以对计划任务进行编辑。输入以下内容:
0 23 * * * /backup/bkdb.sh
每天在23:00执行shell脚本/backup/bkdbname.sh