通过脚本命令实现数据库定时自动备份

2020年1月10日20:45:42 评论 492

备份网站数据有很多种方法,今天为大家分享一下最常用的脚本备份命令。

编写脚本backup.sh

#!/bin/bash
tool=/usr/bin/mysqldump
dd=`date +%Y%m%d`
username=root
password=123456
database=db
backup_count=2
backup_dir=~/mysqlbackup
# 创建备份目录
mkdir -p $backup_dir
#创建备份 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql
$tool -u $username -p$password $database > $backup_dir/$database-$dd.sql
#写备份日志
echo "create $backup_dir/$database-$dd.sql" >> $backup_dir/action.log
#找出需要删除的备份
delfile=`ls -l -crt  $backup_dir/*.sql | awk '{print $9 }' | head -1`
#判断现在的备份数量是否大于$backup_count 
count=`ls -l -crt  $backup_dir/*.sql | awk '{print $9 }' | wc -l`
if [ $count -gt $backup_count ]
then
rm $delfile  #删除最早生成的备份,只保留backup_count数量的备份
#写删除文件日志
echo "delete $delfile" >> $backup_dir/action.log
fi

创建定时任务crontab

#早上5点执行脚本
crontab -e
0 5 * * * /absolute/path/to/mysqlbak.sh > /dev/null 2>&1 &

 

本文已通过「原本」原创作品认证,未经作者授权请勿直接转载,负责将依法追究其法律责任。
Linux 最后更新:2020年1月20日
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: