欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

Shell脚本自动备份数据库

发布时间:2023/12/20 数据库 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Shell脚本自动备份数据库 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

需求:自动备份数据库

 

1、编写脚本

# mkdir -p /data/scripts

# vim /data/scripts/auto_backup_mysql.sh

#!/bin/bash # This script is used backup mysql databases # Date:20180630 # Author:Linus
# 不使用变量的数据库备份命令 mysqldump -uroot -ppass123 -h192.168.199.160 --databases bbs > /data/backup/mysql/bbs.mysql
# 其中 --databases 后面接的是数据库名,即需要备份的数据库名称 # 1、定义数据库链接、目标库信息 MY_USER="root" # 数据库的用户名,不是linux系统的用户名 MY_PASS="pass123" # 数据库的密码 MY_HOST="192.168.199.160" # 数据库的ip地址 MY_CONN="-u${MY_USER} -p${MY_PASS} -h${MY_HOST}" MY_DB1="bbs" MY_DB2="aliyun"# 2、定义备份目录、工具、时间 、文件名主体 mkdir -p /data/backup/mysql BK_DIR="/data/backup/mysql/" BK_CMD=`which mysqldump` BK_TIME=`date +%Y%m%d-%H%M` FILE_NAME_1="${MY_DB1}-${BK_TIME}" FILE_NAME_2="${MY_DB2}-${BK_TIME}"# 3、先导出为.sql文件,然后再压缩(完成后删除原文件) cd ${BK_DIR} ${BK_CMD} ${MY_CONN} --databases ${MY_DB1} > ${FILE_NAME_1}.sql ${BK_CMD} ${MY_CONN} --databases ${MY_DB2} > ${FILE_NAME_2}.sql `which tar` zcf ${FILE_NAME_1}.tar.gz ${FILE_NAME_1}.sql --remove &> /dev/null `which tar` zcf ${FILE_NAME_2}.tar.gz ${FILE_NAME_2}.sql --remove &> /dev/null

 

2、给予脚本执行权限

# chmod u+x /data/scripts/auto_backup_mysql.sh

 

3、设置计划任务,自动执行脚本(如设置每天凌晨3点自动执行脚本)

# crontab -e

0 3 * * * /data/scripts/auto_backup_mysql.sh;/sbin/hwclock -w

 

 

转载于:https://www.cnblogs.com/relax1949/p/9247661.html

总结

以上是生活随笔为你收集整理的Shell脚本自动备份数据库的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。