当前位置:首页 > 学无止境 > Web前端 > 宝塔面板站点与数据库一键备份与恢复脚本

宝塔面板站点与数据库一键备份与恢复脚本

鲁豫2年前 (2022-07-26)Web前端2688

鉴于国内服务器的不确定性,近期经常有丢失数据的,因此特地出了这个宝塔面板站点与数据库一键备份与恢复脚本。分为2个文件,分别为备份脚本(backup.sh)与恢复脚本(restore.sh)。

该脚本相关功能与特色如下:

1、支持多种备份存储位置,有远程服务器(scp)、阿里云OSS、腾讯云COS、华为云OBS、百度云BOS

2、不仅可以备份全部网站文件和数据库,还可以备份所有网站的绑定域名、伪静态、反向代理、备注、SSL证书等各种网站设置。宝塔自带的备份功能只支持备份网站文件与数据库,不支持备份网站的设置信息。

3、数据库备份采用XtraBackup实现物理热备,即使是大量数据,也能很快完成备份与恢复,并且备份与恢复过程占用系统资源少。宝塔自带的数据库备份是逻辑备份,速度慢而且占用大量CPU。

4、备份脚本设置好之后,添加到crontab,可实现自动定时备份。

5、全新安装宝塔面板,下载备份文件,执行一键恢复脚本后,立即恢复网站业务访问,不需要手动创建网站等额外操作。


备份脚本(backup.sh使用方法:

1、先安装XtraBackup,用于数据库物理热备(以CentOS 7为例

wget http://file.kangle.cccyun.cn/file/percona-xtrabackup-24-2.4.24-1.el7.x86_64.rpm
yum -y install percona-xtrabackup-24-2.4.24-1.el7.x86_64.rpm

2、用编辑器打开备份脚本(千万不能用Windows记事本编辑!),修改里面的数据库密码、备份存储位置类型等相关信息。然后上传到服务器。

#给备份脚本执行权限
chmod 755 /root/backup.sh
#添加到crontab,设置每天2:00备份
crontab -e
0 2 * * * /root/backup.sh >/root/backup.log 2>&1

3、备份存储类型相关配置

如果选择备份到云存储,建议云存储和云服务器不在同一个实名主体的账号下,或使用另外云服务商,否则假如账号被封,相当于没有备份。

(1)备份存储位置类型为远程linux服务器说明:

需要配置免密登录,分别在2台服务器执行以下命令

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

在当前需要备份数据的服务器执行以下命令

ssh-copy-id -i ~/.ssh/id_rsa.pub root@远程服务器IP

然后根据提示输入远程服务器的密码即可完成配置免密登录。


(2)备份存储位置类型为阿里云OSS说明:

执行以下命令完成ossutil安装与配置(参考资料地址

wget -O ossutil http://gosspublic.alicdn.com/ossutil/1.7.9/ossutil64
mv ossutil /usr/bin
chmod +x /usr/bin/ossutil
ossutil config -e <OSS Endpoint> -i <你的ak> -k <你的sk>


(3)备份存储位置类型为腾讯云COS说明:

执行以下命令完成coscli安装与配置(参考资料地址

wget -O coscli https://download.fastgit.org/tencentyun/coscli/releases/download/v0.10.2-beta/coscli-linux
mv coscli /usr/bin
chmod +x /usr/bin/coscli
coscli config
#后面根据提示输入Secret ID、Secret Key、Bucket Name、Bucket Region参数,其中Session Token、Bucket Alias可直接留空回车


(4)备份存储位置类型为华为云OBS说明:

执行以下命令完成obsutil安装与配置(参考资料地址

wget https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_linux_amd64.tar.gz
tar -xzvf obsutil_linux_amd64.tar.gz
cd obsutil_linux_amd64*
mv obsutil /usr/bin
chmod 755 /usr/bin/obsutil
cd ..
rm -rf obsutil_linux_amd64*
obsutil config -i=<ak> -k=<sk> -e=<endpoint>


(5)备份存储位置类型为百度云BOS说明:

执行以下命令完成boscmd安装与配置(参考资料地址

wget https://bce-doc-on.bj.bcebos.com/bce-documentation/BOS/linux-bcecmd-0.3.2.zip
unzip linux-bcecmd-0.3.2.zip
mv linux-bcecmd-0.3.2/bcecmd /usr/bin
chmod 755 /usr/bin/bcecmd
rm -f linux-bcecmd-0.3.2.zip
bcecmd


(6)备份存储位置类型为七牛云说明:

执行以下命令完成qshell安装与配置(参考资料地址

wget https://devtools.qiniu.com/qshell-v2.6.2-linux-amd64.tar.gz
tar zxvf qshell-v2.6.2-linux-amd64.tar.gz
mv qshell /usr/bin
chmod +x /usr/bin/qshell
rm -f qshell-v2.6.2-linux-amd64.tar.gz
qshell account <ak> <sk> <name>


恢复脚本(restore.sh)使用方法:

注意:恢复之前必须先安装好宝塔面板,并且确保没有创建任何网站和数据库!如果已创建过需要先删除才能执行恢复脚本!服务器数据库版本必须与备份的数据库版本一致。

用编辑器打开备份脚本(千万不能用Windows记事本编辑!),修改里面的数据库密码,然后上传到备份文件所在目录(目录里面需包含wwwroot.tgz、mysql.tgz、config.tgz

#给恢复脚本执行权限
chmod 755 ./restore.sh
#执行恢复
./restore.sh

附件:bt_backup.zip


文章出处: 阅读原文

版权声明:本文由微站Blog发布,如需转载请注明出处。

免责声明:微站技术博客所有资料搜集整理于互联网或者网友提供,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。资料获取后24小时内请删除资料,不得用于任何商业用途。否则后果自负!博主不保证资料的安全性!也不承担任何责任!切勿用博主分享的任何资料运营!

本文链接:http://ai.vzcc.cc/post/24.html

分享给朋友:

“宝塔面板站点与数据库一键备份与恢复脚本” 的相关文章

HTML代码规范2年前 (2022-07-26)

发表评

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。