宝塔面板站点与数据库一键备份与恢复脚本
鉴于国内服务器的不确定性,近期经常有丢失数据的,因此特地出了这个宝塔面板站点与数据库一键备份与恢复脚本。分为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
版权声明:本文由微站Blog发布,如需转载请注明出处。
免责声明:微站技术博客所有资料搜集整理于互联网或者网友提供,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。资料获取后24小时内请删除资料,不得用于任何商业用途。否则后果自负!博主不保证资料的安全性!也不承担任何责任!切勿用博主分享的任何资料运营!