Linux服务器实现每天定时备份MySQL数据库的shell脚本
2021/8/5 19:06:26
本文主要是介绍Linux服务器实现每天定时备份MySQL数据库的shell脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.准备脚本sql_bak.sh
#!/bin/bash #hebtu data backup shell,execute at everyday 23:00 #use crontab -l command to have a look ########################################## define parameters############################ #export PATH=/data/mysql-5.1.73/bin:$PATH c_time=$(date +%Y%m%d) #old_bak=`date --date='7 days ago' +%Y%m%d` backuphome="/dev/back_db" ############################################database backup############################ user=root password=gdxf123456! # db1=jfast_basic_service dbNames=(jfast_basic_service jfast_cloud_docking jfast_hardware_docking jfast_property jfast_public jfast_research_center_service jfast_safety jfast_talent nacos oa park_devops xxl_job) #backup sql files mkdir $backuphome/$c_time cd $backuphome/$c_time echo "start backup database sql files to localhost" # 对备份数据库列表的所有数据库备份 for dbName in ${dbNames[*]} do mysqldump -u$user -p$password -e --max_allowed_packet=1048576 --net_buffer_length=8192 $dbName>$dbName.sql tar czf $dbName.tar.gz $dbName.sql rm -rf $dbName.sql done echo "backup database sql files to localhost successfully"
2.创建目录
mkdir back_db
3.执行命令
sh sql_bak.sh
4.如提示mysqldump: 未找到命令
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。 首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令: 按如下命令执行 whereis mysql ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
5.继续执行备份命令
sh sql_bak.sh
6.备份成功,此时加入定时任务
添加定时任务 crontab -e 添加 0 23 * * * /dev/sql_bak.sh 查看状态 crontab -l 命令 显示 0 23 * * * /dev/sql_bak.sh 在每天的23点 查看定时任务 crontab -l
这篇关于Linux服务器实现每天定时备份MySQL数据库的shell脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南