Centos7 PHP站点 迁移恢复

该bash脚本用于滚回网站文件至指定目录并创建新数据库,用户需输入文件路径、数据库信息等。成功后提示修改Nginx配置和站点DB配置,注意域名或路径变更需更新数据表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash

echo -e "\e[37;4;42m===== 开始滚回站点文件 =====\n\e[0m"
read -p "请输入站点文件目录绝对路径,例如 /root/website :" web_dir
if [[ -d ${web_dir} ]];then
    mkdir /www && mv ${web_dir} /www
    chown -R nginx:nginx /www
    chmod -R 755 /www
fi
if [[ $? -eq 0 ]];then
    echo -e "\e[1;33;44m===== 站点文件滚回成功,站点根目录为 /www =====\n===== 请手动修改nginx相关配置,并重启 =====\n\e[0m"
else
    echo -e "\e[1;33;44m===== 站点文件滚回失败,请检查目录是否有误 =====\n\e[0m" && exit 0
fi

echo -e "\e[37;4;42m===== 开始滚回数据库 =====\n\e[0m"
read -p "请输入sql文件绝对路径,例如 /root/website.sql :" sql_file
read -p "请输入数据库root密码:" passwd
read -p "请输入新建数据库名称:" new_db
read -p "请输入新建数据库管理账户名:" new_user
read -p "请输入新建数据库管理账号密码:" new_user_pwd
if [[ -f ${sql_file} ]] && [[ ! -z ${passwd} ]] && [[ ! -z ${new_db} ]] && [[ ! -z ${new_user} ]] && [[ ! -z ${new_user_pwd} ]];then
    mysql -uroot -p"${passwd}" << EOF
    set global validate_password_policy=LOW;
    CREATE DATABASE ${new_db} DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE USER '${new_user}'@'%' IDENTIFIED BY '${new_user_pwd}';
    GRANT ALL PRIVILEGES ON ${new_db}.* TO '${new_user}'@'%';
    use ${new_db};
    source ${sql_file};
    flush privileges;
    quit
EOF
fi

if [[ $? -eq 0 ]];then
    echo -e "\e[1;33;44m===== 数据库滚回成功,库名:${new_db},用户名:${new_user},密码:${new_user_pwd} =====\n===== 请手动修改站点目录下DB配置文件 =====\n\e[0m"
else
    echo -e "\e[1;33;44m===== 数据库滚回失败,请检查sql路径或db_root密码是否有误 =====\n\e[0m" && exit 0
fi

注:

数据库滚回后,若更换了域名或文件路径,还需对数据表中相关字段内容进行修改。

例:

UPDATE `typecho_options` SET `value` = '新域名' WHERE `typecho_options`.`name` = 'siteUrl' AND `typecho_options`.`user` =0;
UPDATE `typecho_comments` SET `url` = REPLACE(`url`,'旧域名','新域名');
UPDATE `typecho_comments` SET `text` = REPLACE(`text`,'旧域名','新域名');
UPDATE `typecho_comments` SET `mail` = REPLACE(`mail`,'旧域名','新域名');
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值