Ubuntu下定时备份mysql数据库数据脚本及操作

Ubuntu下定时备份mysql数据库数据脚本及操作

一、本机备份mysql数据库数据

第一步:新建备份脚本文件

新建备份脚本文件为:test_mysql_bak.sh,命名按照需要命名即可

第二步:编写备份脚本文件
方法一:

1、在shell中,执行命令:vi test_mysql_bak.sh即可开始编写脚本,如图
在这里插入图片描述
2、点击Esc,输入“:wq”即可保存退出

方法二

1、先在windows环境下,创建备份脚本文件:test_mysql_bak.sh

#!/bin/sh
bak_path=/shzj/db_bak # 数据库数据文件备份目录
date_now=`date +%Y%m%d` # 当前日期
date_dep=`date -d "-1 week" +%Y%m%d` # 7天前日期

cd $bak_path

echo "================Backup database================" >> log
if [ -d $date_dep ]; then
	echo "`date '+%F %H:%M:%S'` Remove deprecated folder $date_dep." >> log
	rm -rf $date_dep # 删除7天前备份数据
fi

if [ ! -d $date_now ]; then
	mkdir $date_now # 创建当前日期备份数据文件夹
fi

cd $date_now

echo "`date '+%F %H:%M:%S'` Begin to backup testdb." >> ../log

# 使用mysqldump备份testdb数据库实例并压缩成gzip格式,root/password为数据库登录用户名和密码
/usr/local/mysql/bin/mysqldump -uroot -ppassword --opt --default-character-set=utf8 testdb|gzip > testdb.sql.gz

echo "`date '+%F %H:%M:%S'` Finish to backup testdb." >> ../log

echo "" >> ../log

2、用Xftp将该备份脚本文件copy到服务器上
在这里插入图片描述
该方法有风险!!!具体可查看该链接:

https://blog.csdn.net/zcxbd/article/details/104654741

第三步:为备份脚本文件添加执行权限

命令:chmod 777 test_mysql_bak.sh
在这里插入图片描述

第四步:使用root用户在crontab中增加定时任务

1、命令:vi /etc/crontab
在crontab最后面增加如下task:
# 每分钟执行此任务
*/1 * * * * root /shzj/db_bak/test_mysql_bak.sh 
在这里插入图片描述
2、点击Esc,输入“:wq”即可保存退出

第五步:重启crontab

命令:/etc/init.d/cron restart
在这里插入图片描述

第六步:检验

等第二天或者把执行时间改到当前时间后1分钟,看是否执行。
或者只是想检验脚本是否正确,可直接执行.sh文件。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zcxbd/article/details/104650061