为加快股权投资管理机构落户,武汉出台多项扶持政策
06-18
背景和目标宝塔面板自带一键备份功能,但只能备份源代码,但没有网站列表、反向生成配置以及SSL证书等信息。本文的目标是:只需复制粘贴,然后点击几下,您就可以快速将所有网站克隆到备份服务器。
所需服务 2/多个轻量级应用服务器 宝塔面板 注:最好使用腾讯云对象存储 COS 来存储/同步备份文件;腾讯云 COS 为付费服务,计费项目包括:存储容量费、请求费、数据检索费、流量费和管理功能费。具体信息请参见计费概览。
设置步骤 1.在备份服务器上安装与主服务器相同的环境(Apache/Nginx、PHP等) 2.主服务器、备份服务器登录“腾讯云COSFS”可选。如果您不使用对象存储 COS 保存备份,则可以跳过此操作。
按照提示进行挂载。如果您没有使用 COS,也可以手动下载并上传到备份服务器。
我个人很喜欢用COS,同区域内网上传下载速度很快,很方便。如果没有安装,请先安装。
输入密钥等参数,将 COS 挂载到服务器。记住安装路径。
稍后会用到。写在这里:/www/cosfs/bt-sh3。
在主服务器上添加计划任务,任务类型选择Shell脚本。 ,复制并粘贴以下内容,并添加任务。
第7行根据实际情况进行修改。 CLOUD=后填写备份文件存储路径。
如果使用COS,请填写步骤2中挂载的路径/www/cosfs/bt-sh。如果不使用 COS,请填写本地路径,例如/www/backup。
/fastsync 代码语言: javascript copy#!/bin/bashPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin;#----- --配置信息------##备份文件存放位置 CLOUD="/www/cosfs/bt-sh"#7z压缩包密码 PWD7Z="password"#源代码压缩包文件名 WWWROOT_FILE="wwwroot .7z";#设置项压缩包文件名 CONFIG_FILE="config.7z";#--------配置信息------#if [ $(whoami) != "root" ]; thenecho "请使用root权限执行命令"exit 1;fiif [ ! -d /www/服务器/面板] || [! -f /etc/init.d/bt ];thenecho "宝塔面板未安装。"exit 1fiPARM7Z= "-mx0 ??-bsp0 -bb0 -bd -p${PWD7Z} -xr!*.7z -xr !*.zip -xr!*.gz"install_7z(){if [ ! -f /usr/bin/7za ] ; thenyum install p7zip -yfi}mk_dir(){mkdir -p /www/backup/cron;mkdir -p /www/backup/cron/temp/;mkdir -p /www/backup/cron/temp/config;}backup_wwwroot ( ){echo "★备份网站源代码...";echo $(7za a -t7z -r /www/backup/cron/${WWWROOT_FILE} "/www/wwwroot/*" ${PARM7Z}) &> > /dev/null}backup_config(){echo "★备份站点信息...";sqlite3 /www/server/panel/data/default.db <
"install_7zmk_dirbackup_wwwrootbackup_configmv_to_cosecho "★★备份数据完成。"}main* 脚本执行后,将会有两个压缩包(wwwroot.7z 和 config.7z)上传到 COS 存储桶/存储在本地备份目录中。
执行后可以查看日志,看看执行是否成功。 4. 在备服务器上添加定时任务。
添加计划任务到备服务器,复制粘贴。以下第7行内容根据实际情况进行修改。
CLOUD=后填写备份文件存储路径。例如,使用COS填写步骤2中挂载的路径/www/cosfs/bt-sh。
如果不使用 COS,请填写本地路径,如 /www/backup/fastsync,然后手动将主服务器上的备份文件(wwwroot.7z 和 config.7z)上传到 /www/backup/fastsync备份服务器的目录。代码语言:javascript copy#!/bin/bashPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin;#-------配置信息-------##cosfs插件挂载位置 CLOUD="/www/cosfs/bt-sh"#7z压缩包密码 PWD7Z="password"#源代码压缩包文件名 WWWROOT_FILE="wwwroot .7z"#设置项压缩包文件名 CONFIG_FILE="config.7z"#--------配置信息------#if [ $(whoami) != "root" ];thenecho " ☆请使用root权限执行命令! "exit 1;fiif [ ! -d /www/服务器/面板] || [! -f /etc/init.d/bt ];thenecho "☆宝塔面板未安装" exit 1;fiPARM7Z=" - p${PWD7Z} -bsp0 -bb0 -bd -y";if [ ! -f "${CLOUD}/${WWWROOT_FILE}" ] || [! -f "${CLOUD}/${CONFIG_FILE}" ] ; thenecho "☆[$CLOUD]目录下未找到备份文件,请确保您已登录cosfs插件并挂载!";exit 1;fiinstall_7z(){if [ ! -f /usr/bin/7za ]; thenyum install p7zip -yfi}restore_wwwroot(){echo "★恢复wwwroot网站源代码";find /www/wwwroot -name ".user.ini"-exec chattr -i {} \;rm -rf "/www/wwwroot/*";echo $(7za x ${CLOUD}/${WWWROOT_FILE} -o/www/wwwroot ${PARM7Z}) > /dev/ nullchown www -R /www/wwwrootfind /www/wwwroot -name ".user.ini" -exec chattr +i {} \;}restore_config(){echo "★还原配置文件";mkdir -p /www/tmp/ CONFIG_PATH=/www/tmp/configif [ ! -d ${CONFIG_PATH} ];然后rm -rf ${CONFIG_PATH};fiecho $(7za x ${CLOUD}/${CONFIG_FILE} -o/www/tmp/ ${PARM7Z}) > /dev/nullcp -a - f ${CONFIG_PATH}/vhost /www/server/panel;if [ -f ${CONFIG_PATH}/proxyfile.json ]; thencp -f ${CONFIG_PATH}/proxyfile.json /www/server/panel/datafiif [ -f ${CONFIG_PATH}/redirect.conf ]; thencp -f ${CONFIG_PATH}/redirect.conf /www/server/panel/datafiif [ -f ${CONFIG_PATH}/site_dir_auth.json ]; thencp -f ${CONFIG_PATH}/site_dir_auth.json /www/server/panel/datafisqlite3 /www/server/panel/data/default.db < "install_7z && sleep 5restore_wwwrootrestore_configrestart_serverecho "★★恢复数据完成。"} main 之后* 执行后,备用服务器将具有与主服务器相同的站点和配置。 当备服务器与主服务器同步后需要切换时 1. 在主服务器上手动执行备份任务 2. 备份文件准备好后,在备份服务器上手动执行恢复任务。 3、数据库备份可以使用宝塔自带的备份。 无需自己重新发明轮子。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-18
06-18
06-06
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用