[工具] Shell 将本地网站文件和网站数据库恢复到本地的 LNMP

介绍

基本信息

作者:朱明宇
名称:将本地网站文件和网站数据库恢复到本地的 LNMP
作用:将本地网站文件和网站数据库恢复到本地的 LNMP

使用方法

1. 将网站文件、网站数据库,2 个文件放在此脚本中变量 tmppath 对应的目录里
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量

tmppath=/bcache #本地存放网站的文件备份、网站的 SSL 公钥、网站的 SSL 私钥、网站的数据库备份的地方
midname=eternalcenter #网站的文件备份和网站的数据库备份的中间名
webpath=/usr/share/nginx/html #网站文件在本地的正式存放位置
dbuser=ec #网站用于连接数据库的用户
dbname=ec #网站在数据库中的的库名

注意

1. 本地需要已经搭建好 LNMP 平台
2. 必须以 root 的身份执行此脚本
3. 脚本中类似 ”mysql -uroot -p’eternalcenter’ -e “drop database $dbname;”“ 中的 “eternalcenter“ 是指本地 MariaDB 数据库 root 用户的密码,需要修改成 MariaDB 数据库的 root 用户的真实密码
4. dbname=ec 网站在数据库中的的库名,每次执行此脚本时这个库里面以前的数据都会被清空

脚本

#!/bin/bash

####################### Separator ########################

tmppath=/bcache
midname=eternalcenter

webpath=/usr/share/nginx/html

dbuser=ec
dbname=ec

####################### Separator ########################

nowdirectory=`pwd`

cd $tmppath

sqlfile=`ls | grep $midname | grep -E \.sql$ | tail -1`
tarfile=`ls | grep $midname | grep -E \.tar | tail -1`


echo $sqlfile
if [ -n "$sqlfile" ];then
    mysql -uroot -p'eternalcenter' -e "drop database $dbname;"
    mysql -uroot -p'eternalcenter' -e "create database $dbname;"
    mysql -uroot -p'eternalcenter' -e "grant all privileges on $dbuser.* to \"$dbuser\"@\"localhost\";"
    mysql -uroot -p'eternalcenter' ec < $sqlfile
    rm -rf $sqlfile
fi

echo $tarfile
if [ -n "$tarfile" ];then
    rm -rf $webpath/*
    tar -zxvf $tarfile -C $webpath/ &> /dev/null
    rm -rf $tarfile
    chcon -t httpd_sys_content_t -R $webpath/*
    chown -R php-fpm:php-fpm $webpath/
fi


sudo systemctl restart nginx
sudo systemctl restart php-fpm
sudo systemctl restart mariadb

cd $nowdirectory