1.首先登陆mysql服务器
2.cd 备份目录(cd /home/admin/mysqlback)
3.创建执行备份脚本,下列是脚本内容 vi back.sh
#数据库账号
database_username="root"
# 数据库密码
database_password="XXXX"
# 需要备份的数据库名称
database_name="test"
# 数据库备份文件路径
backup_dir="/home/admin/mysqlback"
# 数据库备份开始时间
start_date_time=`date +'%Y-%m-%d %H:%M:%S'`
# 打印数据库备份开始标识
echo "备份开始于:" $start_date_time >> $backup_dir/logs/$database_name"_backup.log"
# 执行数据库备份命令
mysqldump -u$database_username -p$database_password $database_name > $backup_dir/$database_name/$database_name"_"`date +'%Y%m%d%H%M%S'`".sql"
# 数据库备份结束时间
end_date_time=`date +'%Y-%m-%d %H:%M:%S'`
# 计算备份所需时间
start_seconds=$(date --date="$start_date_time" +%s);
end_seconds=$(date --date="$end_date_time" +%s);
# 打印备份所需时间
echo "本次备份运行时间: "$((end_seconds-start_seconds))"s" >> $backup_dir/logs/$database_name"_backup.log"
# 打印数据库备份结束标识
echo "备份结束于:" $end_date_time >> $backup_dir/logs/$database_name"_backup.log"
#删除30天之前的备份
log3=$(date -d "30 day ago" +%Y%m%d)
rm $backup_dir/$database_name/$database_name"_"$log3* -rf
4.创建备份的目录 及日志目录和文件
备份目录数据库名,脚本有指出 mkdir test
创建日志目录 mkdir logs
创建日志文件 touch logs/test_backup.log
5.执行脚本 back.sh
sh back.sh
6.脚本没有问题后,开始书写定时任务 这里用的cron
命令 :crontab -e
输入 i
设定每天凌晨1点执行
拷贝:0 1 * * * /home/admin/mysqlback/back.sh
esc :wq
保存即可
7.修改脚本可执行权限
chmod +x back.sh
备注:很简单,大家可以直接拿来就用