在使用 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/veidc.com" "/home/wwwroot/veidc1.com")
#### 要备份的目录,目录用双引号括起来,多个目录空格隔开,如前面的例子
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='veidc.com'
FTP_Password='yourftppassword'
FTP_Dir="backup"
#### FTP 服务器上存放备份的目录
#Values Setting END!
默认备份文件保存 3 天,可以修改 backup.sh 里的 -3day 为你指定的天数。
使用 crontab 启用定期自动备份
比如每天凌晨 3 点半自动备份一次:
30 3 * * * sh ~/lnmp/tools/backup.sh
其中请把
~/lnmp/tools/backup.sh
改成你自己的 backup.sh 文件目录。此外,备份的频率、时间等也都可以自己修改。
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."
搬瓦工推荐方案
方案 | 内存 | CPU | 硬盘 | 流量/月 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
CN2 (最便宜) |
1GB | 1核 | 20GB | 1TB | 1Gbps | DC3 CN2 DC8 ZNET |
$49.99/年 | 直达 |
CN2 | 2GB | 1核 | 40GB | 2TB | 1Gbps | $52.99/半年 $99.99/年 |
直达 | |
CN2 GIA-E (最推荐) |
1GB | 2核 | 20GB | 1TB | 2.5Gbps | DC6 CN2 GIA-E DC9 CN2 GIA 日本软银 JPOS_1 荷兰 EUNL_9 |
$49.99/季度 $169.99/年 |
直达 |
CN2 GIA-E | 2GB | 3核 | 40GB | 2TB | 2.5Gbps | $89.99/季度 $299.99/年 |
直达 | |
HK | 2GB | 2核 | 40GB | 0.5TB | 1Gbps | 中国香港 CN2 GIA | $89.99/月 $899.99/年 |
直达 |
HK | 4GB | 4核 | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 |
直达 | |
TOKYO | 2GB | 2核 | 40GB | 0.5TB | 1.2Gbps | 日本东京 CN2 GIA | $89.99/月 $899.99/年 |
直达 |
TOKYO | 4GB | 4核 | 80GB | 1TB | 1.2Gbps | $155.99/月 $1559.99/年 |
直达 | |
搬瓦工优惠码:BWH3HYATVBJW | 2022年最新搬瓦工VPS购买图文教程 |