在使用 LNMP 一键安装包进行建站的时候,我们也需要时不时的备份网站数据。比如,使用 LNMP 自带的一键备份脚本 backup.sh,这个脚本是 LNMP 安装包默认提供的,位置是在 tools 这个文件夹下面,大家可以自行找到文件具体内容。因为是开源的,所以看看文件内容也就知道在做什么。本文分享一下 LNMP 一键包使用 backup.sh 这个脚本进行自动备份的教程,需要配合 crontab 使用。
相关教程:
一、LNMP 备份脚本 backup.sh 使用教程
下面的一些内容来自于 LNMP 官网的一些介绍,其实就是需要修改 backup.sh 这个脚本,可以使用 vim 编辑器打开,完整的 backup.sh 文件在文章下方也有。
备份脚本 backup.sh
备份脚本需要修改一下几个参数,需要配合 crontab 使用。
1、备份路径、目录等基本信息
Backup_Home="/home/backup/"
#### 备份文件存放目录MySQL_Dump="/usr/local/mysql/bin/mysqldump"
#### mysqldump 路径,如果是 mariadb 替换 /usr/local/mysql
为 /usr/local/mariadb
######~Set Directory you want to backup~######Backup_Dir=("/home/wwwroot/bwg.net" "/home/wwwroot/bwg1.net")
#### 要备份的目录,目录用双引号括起来,多个目录空格隔开,如前面的例子
2、要备份的数据库
######~Set MySQL Database you want to backup~######Backup_Database=("bwgnet" "bwg1net")
#### 要备份的数据库,前面有例子
######~Set MySQL UserName and password~######MYSQL_UserName='root'
#### MySQL root 账号MYSQL_PassWord='yourrootpassword'
#### MySQL root 密码
3、启用 FTP 备份
######~Enable Ftp Backup~######Enable_FTP=0
#### 是否启用 FTP 备份,0 启用,非0 不启用
# 0: enable; 1: disable
######~Set FTP Information~###### FTP 账号信息FTP_Host='1.2.3.4'
FTP_Username='bwg.net'
FTP_Password='yourftppassword'
FTP_Dir="backup"
#### FTP 服务器上存放备份的目录
#Values Setting END!
默认备份文件保存 3 天,可以修改 backup.sh 里的 -3day 为你指定的天数。
二、使用 crontab 启用定期自动备份
参考《Linux Crontab 命令安装和使用教程:在 VPS 上设置定时任务》这篇教程,只需要添加一个 crontab 命令即可。
比如每天凌晨 3 点半自动备份一次:
30 3 * * * sh ~/lnmp/tools/backup.sh
其中请把 ~/lnmp/tools/backup.sh
改成你自己的 backup.sh 文件目录。
此外,备份的频率、时间等也都可以自己修改。
更多备份方法:
三、搬瓦工新手教程和建站套餐
搬瓦工推荐方案
搬瓦工实时库存:https://stock.bwg.net
温馨提醒 如果您有选择困难症,直接选中间的 CN2 GIA-E方案,季付 $49.99,多达 12 个机房任意切换
选择建议:
- 入门:洛杉矶 CN2 套餐,目前最便宜,可选 CN2 GT 机房,入门之选。
- 推荐:洛杉矶 CN2 GIA-E 套餐,速度超快,可选机房多(DC6、DC9、日本软银、荷兰联通等),性价比最高。
- 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。东京 CN2 GIA 套餐也是非常不错的高端选择。
搬瓦工新手教程
- 搬瓦工新手入门:《搬瓦工新手入门完全指南:方案推荐、机房选择、优惠码和购买教程》(推荐阅读)
- 搬瓦工购买教程:《2022 年最新搬瓦工购买教程和支付宝支付教程》
- 搬瓦工优惠码:BWHCGLUKKB
- 搬瓦工补货通知:《欢迎订阅搬瓦工补货通知(补货提醒)/ 加入搬瓦工交流群》
- 搬瓦工方案推荐:《搬瓦工高性价比 VPS 推荐:目前哪款方案最值得买?》
搬瓦工补货通知
搬瓦工目前一共有四款限量版套餐,具体参考这里整理的搬瓦工所有限量版套餐汇总。下面是搬瓦工限量版套餐补货、上新、最新优惠通知。
如果来晚了已经缺货,可以关注搬瓦工补货通知:
搬瓦工补货通知:《欢迎订阅搬瓦工补货通知(补货提醒)/ 加入搬瓦工交流群》
四、LNMP 备份脚本 backup.sh 完整文件
下面是完整的 backup.sh 备份脚本,供参考。
#!/bin/bash #Funciont: Backup website and mysql database #Author: licess #Website: https://lnmp.org #IMPORTANT!!!Please Setting the following Values! Backup_Home="/home/backup/" MySQL_Dump="/usr/local/mysql/bin/mysqldump" ######~Set Directory you want to backup~###### Backup_Dir=("/home/wwwroot/vpser.net" "/home/wwwroot/lnmp.org") ######~Set MySQL Database you want to backup~###### Backup_Database=("lnmp" "vpser") ######~Set MySQL UserName and password~###### MYSQL_UserName='root' MYSQL_PassWord='yourrootpassword' ######~Enable Ftp Backup~###### Enable_FTP=0 # 0: enable; 1: disable ######~Set FTP Information~###### FTP_Host='1.2.3.4' FTP_Username='vpser.net' FTP_Password='yourftppassword' FTP_Dir="backup" #Values Setting END! TodayWWWBackup=www-*-$(date +"%Y%m%d").tar.gz TodayDBBackup=db-*-$(date +"%Y%m%d").sql OldWWWBackup=www-*-$(date -d -3day +"%Y%m%d").tar.gz OldDBBackup=db-*-$(date -d -3day +"%Y%m%d").sql Backup_Dir() { Backup_Path=$1 Dir_Name=`echo ${Backup_Path##*/}` Pre_Dir=`echo ${Backup_Path}|sed 's/'${Dir_Name}'//g'` tar zcf ${Backup_Home}www-${Dir_Name}-$(date +"%Y%m%d").tar.gz -C ${Pre_Dir} ${Dir_Name} } Backup_Sql() { ${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $1 > ${Backup_Home}db-$1-$(date +"%Y%m%d").sql } if [ ! -f ${MySQL_Dump} ]; then echo "mysqldump command not found.please check your setting." exit 1 fi if [ ! -d ${Backup_Home} ]; then mkdir -p ${Backup_Home} fi if [ ${Enable_FTP} = 0 ]; then type lftp >/dev/null 2>&1 || { echo >&2 "lftp command not found. Install: centos:yum install lftp,debian/ubuntu:apt-get install lftp."; } fi echo "Backup website files..." for dd in ${Backup_Dir[@]};do Backup_Dir ${dd} done echo "Backup Databases..." for db in ${Backup_Database[@]};do Backup_Sql ${db} done echo "Delete old backup files..." rm -f ${Backup_Home}${OldWWWBackup} rm -f ${Backup_Home}${OldDBBackup} if [ ${Enable_FTP} = 0 ]; then echo "Uploading backup files to ftp..." cd ${Backup_Home} lftp ${FTP_Host} -u ${FTP_Username},${FTP_Password} << EOF cd ${FTP_Dir} mrm ${OldWWWBackup} mrm ${OldDBBackup} mput ${TodayWWWBackup} mput ${TodayDBBackup} bye EOF echo "complete."
未经允许不得转载:Bandwagonhost中文网 » LNMP 网站备份教程:一键备份脚本 backup.sh 的设置和使用教程
最新评论
5211314
能不能教我 一点不会