鉴于国内服务器的不确定性,近期经常有丢失数据的,因此特地出了这个宝塔面板站点与数据库一键备份与恢复脚本。分为 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
下载方式:
内容转载自互联网,侵删