web系统备份mysql_学会自动备份MYSQL和WEB的数据

这篇博客分享了如何将MySQL数据库和Web数据分开进行备份,并提供了两个备份脚本示例。第一个脚本用于备份所有数据库,删除3天前的旧备份,然后压缩成一个文件。第二个脚本则针对特定数据库进行备份。此外,还给出了FTP备份脚本以及通过crontab设置自动备份的方法。
摘要由CSDN通过智能技术生成

a102e8fb60d4a3c6b75d6e47b4666e9b.png

由于个人的需求问题,MYSQL和WEB分开来备份。没特殊要求的也可以合在一个SH文档备份。

数据库备份脚本(1):

#!/bin/bash

#你要修改的地方从这里开始

MYSQL_USER=root #mysql用户名

MYSQL_PASS=e9china.net #mysql密码

#你要修改的地方从这里结束

#定义数据库的名字和旧数据库的名字

DataBakName=Data_$(date +"%Y%m%d").tar.gz

OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz

#删除本地3天前的数据

rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz

cd /home/backup

#导出数据库,一个数据库一个压缩文件

for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do

(/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)

done

#压缩数据库文件为一个文件

tar zcf /home/backup/$DataBakName /home/backup/*.sql.gz

rm -rf /home/backup/*.sql.gz

echo “Mysql备份结束”

数据库备份脚本(2)COO友情提供(选择性备份):

#!/bin/bash

cd /home/mysqlbak

echo “You are In Backup Directory”

mv backup* /home/oldmysqlbak

echo “Old Databases are Moved to oldbackup folder”

Now=$(date +”%d-%m-%Y--%H:%M:%S”)

File=backup-$Now.sql.gz

#格式 -u用户 -p密码 数据库 |gzip -9 > 数据库-$File

/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File

/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File

/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File

/usr/bin/mysqldump -uuser -ppasswd database |gzip -9 > database-$File

echo “Your Database Backup Successfully Completed”

FTP备份脚本:

#!/bin/bash

#你要修改的地方从这里开始

WEB_DATA=/home/wwwroot #要备份的网站数据,如果是使用lnmp安装包,则默认这个为网站目录

#你要修改的地方从这里结束

#定义web数据的名字和web数据的名字

WebBakName=Web_$(date +%Y%m%d).tar.gz

OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz

#删除本地3天前的数据

/home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz

cd /home/backup

#压缩网站数据

tar zcf /home/backup/$WebBakName $WEB_DATA

echo “web备份结束”

给予脚本运行的权限

chmod 774 /root/mysqlbak.sh或者chmod +x /root/mysqlbak.sh

利用系统crontab实现每天自动运行:

crontab -e

每天晚上3:30分备份数据库

30 3 * * * /root/mysqlbak.sh

每个月1.10.30号备份一下WEB目录

45 4 1,10,30 * * /root/webbak.sh

下一步将要实现利用rsync同步备份目录到另外一个服务器

本文仅代表作者个人观点,不代表SEO研究协会网官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员。更多相关资讯,请到SEO研究协会网www.seoxiehui.cn学习互联网营销技术请到巨推学院www.jutuiedu.com。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值