Linux 自动备份MySQL数据库 和 网站数据 Shell脚本Linux 自动备份MySQL数据库 和 网站数据 Shell脚本

生命不息,
折腾不止!

Linux 自动备份MySQL数据库 和 网站数据 Shell脚本

第一步、下载备份脚本

首先要在 root 目录下 创建 tool 的文件夹,命令如下:

[root@host ~]# mkdir /root/tool && cd /root/tool  #在root目录下创建tool文件夹,并进入tool文件夹
[root@host tool]#

wwwbackup.sh 文件内容如下 可以复制下面代码 另存为 wwwbackup.sh 放入 root/tool 目录下

#!/bin/bash
#原作者:ccbikai(miantiao.me)
#修改备注:老左博客(laozuo.org)
#三次修改:小杨哥博客(xiaoyangge.com)
 
## 备份配置信息 ##
 
# 备份名称,用于标记
BACKUP_NAME="www-backup"
# 备份目录,多个请空格分隔
BACKUP_SRC="/home/wwwroot/"
# Mysql主机地址
MYSQL_SERVER="localhost"
# Mysql用户名
MYSQL_USER="root"
# Mysql密码
MYSQL_PASS="mysqlpassword"
# Mysql备份数据库,多个请空格分隔
MYSQL_DBS="dbname"
# 备份文件临时存放目录,一般不需要更改
BACKUP_DIR="/root/wwwbackup/"
# 备份文件压缩密码确保压缩包的安全
BACKUP_FILE_PASSWD="xiaoyangge.com"
 
## 备份配置信息 End ##
 
 
## Funs ##
NOW=$(date +"%Y%m%d%H%M%S") #精确到秒,统一秒内上传的文件会被覆盖
 
mkdir -p $BACKUP_DIR
 
# 备份Mysql
echo "start dump mysql"
for db_name in $MYSQL_DBS
do
        mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS $db_name > "$BACKUP_DIR/$BACKUP_NAME-$db_name.sql"
done
echo "dump ok"
 
# 打包
echo "start tar"
BACKUP_FILENAME="$BACKUP_NAME-backup-$NOW.zip"
zip -q -r -P $BACKUP_FILE_PASSWD $BACKUP_DIR/$BACKUP_FILENAME $BACKUP_DIR/*.sql $BACKUP_SRC
echo "tar ok"
 
# 清理备份目录下的 SQL 文件,删除 /*.sql 将清除所有文件
rm -rf $BACKUP_DIR/*.sql
echo "backup clean done"

第二步、配置 wwwbackup.sh 文件

我们可以把 wwwbackup.sh 文件下载到本地修改需要的配置,也可以直接VI在线配置。

# 备份名称,用于标记
BACKUP_NAME="www-backup"
# 备份目录,多个请空格分隔
BACKUP_SRC="/home/wwwroot/"
# Mysql主机地址
MYSQL_SERVER="localhost"
# Mysql用户名
MYSQL_USER="root"
# Mysql密码
MYSQL_PASS="mysqlpassword"
# Mysql备份数据库,多个请空格分隔
MYSQL_DBS="dbname"
# 备份文件临时存放目录,一般不需要更改
BACKUP_DIR="/root/wwwbackup/"
# 备份文件压缩密码确保压缩包的安全
BACKUP_FILE_PASSWD="xiaoyangge.com"
 
## 备份配置信息 End ##

第三步、设置权限及测试备份

我们需要设置wwwbackup.sh权限以及调试备份

chmod +x wwwbackup.sh   #给 wwwbackup.sh 文件执行的权限
./wwwbackup.sh   #执行 wwwbackup.sh 文件

第四步、设置定时自动备份

vi /etc/crontab
30 2 * * * root /bin/bash /root/tool/wwwbackup.sh  #添加这个脚本
30 2 * * * root bash /root/tool/wwwbackup.sh #与上面 二选一即可

添加定时任务,每天凌晨2点30分 自动备份一次。

也可以自己设定备份的时间(Linux 定时自动启动任务crontab命令用法)

赞() 打赏
未经允许不得转载:我的博客 » Linux 自动备份MySQL数据库 和 网站数据 Shell脚本
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    这是评论测试

    DUX主题小秘7个月前 (09-17)回复
    • 飞歌导航东方红烦得很

      themebetter主题小秘3周前 (04-08)回复
  2. #2

    这是新的一条评论

    DUX主题小秘7个月前 (09-17)回复
  3. #3

    未来一年,中国的移动支付市场会是什么样?

    DUX主题小秘7个月前 (09-17)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

大前端WP主题 更专业 更方便

联系我们 联系我们