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文件。