1.创建备份目录
cd /home
mkdir lmr
cd lmr
mkdir backup
cd backup
2.设置备份用户名及密码
【原网站:https://blog.csdn.net/qq_31851107/article/details/102578183】
注意:使用导出命令:mysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql报错:mysqldump: [Warning] Using a password on the command line interface can be insecure
原因:mysql自5.7版本开始,考虑到mysql的安全性而更改对保护机制,在mysqldump备份数据库对时候不能直接在命令行上书写数据库的密码
修改mysql配置文件:/etc/my.cnf【mysql 查看当前使用的配置文件my.cnf的方法(推荐)】
[client]
host = localhost
user = root
password = 'root'
# 导出远程数据库只需将host值换成远程ip或域名就可以
注意:主要是添加
host
user
password
三个参数,必须填写在[client]
模块下,如果my.cnf文件中没有该模块,手动填写一个(必须),然后再下面补充数据库的三个配置信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gv5xrYFM-1647938088587)(http://lmr.luomuren.top/006CtYvJly1gplemsg7kkj30pu02zjrp.jpg)]
使用新的mysqldump命令进行备份
mysqldump --defaults-extra-file=/etc/my.cnf blog01 > /home/abcd.sql
导入/恢复数据库
mysql --defaults-extra-file=/etc/my.cnf blog0101 < /home/test0101.sql
2.创建并测试备份脚本
vi backup.sh
输入脚本内容
#!/bin/bash
mysqldump --defaults-extra-file=/etc/mysql/mysql.conf.d/mysqld.cnf solo > /home/lmr/backup/solo.sql
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vBf0L8Qt-1647938088588)(http://lmr.luomuren.top/006CtYvJly1gple8lc34vj30vk0380sm.jpg)]
添加可执行权限
chmod u+x backup.sh
执行脚本
./backup.sh
3.添加定时任务执行脚本
【原网站:https://blog.csdn.net/dbagaoshou/article/details/82116501】
-
检测或安装 crontab确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
# crontab -bash: crontab: command not found
如时没有安装 crontab,需要先安装它,具体步骤请参考: Linux Crontab 安装使用详细说明
-
安装
[root@master data]# yum -y install vixie-cron [root@master data]# yum -y install crontabs 说明: vixie-cron 软件包是 cron 的主程序; crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
-
添加计划任务
crontab -e
这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:*/1 * * * * /home/lmr/backup/backup.sh
意思是每一分钟执行一次shell脚本“/home/lmr/backup/backup.sh”。
其他时间:
# 每天一点 0 1 * * * /home/lmr/backup/backup.sh
-
测试任务是否执行
很简单,我们就执行几次“ls”命令,看看一分钟过后文件有没有被创建就可以了!如果任务执行失败了,可以通过以下命令查看任务日志:
# tail -f /var/log/cron