[工具] Shell 批量将本地的网站公私钥拷贝到远程服务器

介绍

基本信息

作者:朱明宇
名称:批量将本地的网站公私钥拷贝到远程服务器
作用:批量将本地的网站公私钥拷贝到远程服务器

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量

1. sslpath=”/etc/letsencrypt/live/eternalcenter.com” #本地服务器存放网站公私钥的目录
2. sslfile1=”fullchain.pem” #本地服务器上的网站公钥的名称
3. sslfile2=”privkey.pem” #本地服务器上的网站私钥的名称
4. bip=”192.168.0.1″ #存放网站公私钥的远程服务器的 IP 地址,多个 IP 地址可以用空格分隔
5. buser=”mingyuzhu” #用于登录远程服务器的用户名
6. bcache=”/bcache” #远程服务器存放网站公私钥的目录

注意

1. 此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器
2. 必须以 root 用户执行本脚本

脚本

#!/bin/bash

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

sslpath="/etc/letsencrypt/live/eternalcenter.com" #website cache
sslfile1="fullchain.pem"
sslfile2="privkey.pem"

bip="192.168.0.1"
buser="mingyuzhu"
bcache="/bcache"

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

######################## copy webiste date to remote server #########################

for i in `echo $bip`

do
ping -c4 -i0.8 -w4 $i &> /dev/null

if [ $? -eq 0 ];then
    ssh $buser@$i "who -b"
        if [ $? -eq 0 ];then
#            ssh $buser@$i "sudo mkdir $bcache ; sudo chown $buser:$buser $bcache"
            scp $sslpath/$sslfile1 $buser@$i:$bcache/ 
            scp $sslpath/$sslfile2 $buser@$i:$bcache/ 
        fi
fi
done

######################## copy webiste date to remote server #########################

[步骤] Rocky Linux & RHEL 本地缓存的软件包的安装

步骤一:将 yum 工具 & dnf 工具缓存下来的软件包设置为持续保存

# vi /etc/yum.conf

或者:

# vi /etc/dnf/dnf.conf

将部分内容修改如下:

......
keepcache = 1

步骤二:清空本地 yum 工具 & dnf 工具的缓存

# yum clean all

或者:

# dnf clean all

步骤三:将 yum 工具 & dnf 工具的软件包清单缓存到本地

# yum makecache

步骤四:将 yum 工具 & dnf 工具所有可以升级的软件包缓存到本地

# yum update --downloadonly

或者:

# dnf update --downloadonly

步骤五:显示已经缓存的软件包

5.1 显示所有已经缓存的软件包

# yum -C list

或者:

# dnf -C list

5.2 显示某个已经缓存的软件包

# yum -C list kernel

或者:

# dnf -C list kernel

(补充:这里以显示已经缓存的 kernel 软件包为例)

步骤六:使用 yum 工具 & dnf 工具缓存的所有软件包提到系统里现存的老的软件包

# yum -C update

或者:

# dnf -C update

[工具] Shell 还原本地网站文件和网站数据库备份到本地 LNMP

介绍

基本信息

作者:朱明宇
名称:将本地网站文件备份和网站数据库备份还原到本地 LNMP
作用:将本地网站文件备份和网站数据库备份还原到本地 LNMP

使用方法

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

脚本分割线里的变量

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

注意

1. 本地需要已经搭建好 LNMP 平台
2. 必须以 root 的身份执行此脚本
3. 这里的网站的 SSL 公钥和网站的 SSL 私钥都是以 pem 后缀结尾,可以修改成真实对应的后缀
4. 脚本中类似 ”mysql -uroot -p’eternalcenter’ -e “drop database $dbname;”“ 中的 “eternalcenter“ 是指本地 MariaDB 数据库 root 用户的密码,需要修改成 MariaDB 数据库的 root 用户的真实密码

脚本

#!/bin/bash

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


tmppath=/bcache
midname=eternalcenter
cmidname=fullchain
kmidname=privkey

webpath=/usr/share/nginx/html
sslpath=/etc/nginx/ssl

dbuser=ec
dbname=ec


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

nowdirectory=`pwd`

#sudo systemctl stop nginx
#sudo systemctl stop php-fpm

cd $tmppath

sqlfile=`ls | grep $midname | grep -E \.sql$ | tail -1`
tarfile=`ls | grep $midname | grep -E \.tar | tail -1`
crtfile=`ls | grep $cmidname | grep -E \.pem$ | tail -1`
keyfile=`ls | grep $kmidname | grep -E \.pem$ | tail -1`


#sleep 300

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' $dbname < $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

echo $crtfile
if [ -n "$crtfile" ];then
    rm -rf $sslpath/$crtfile
    mkdir -p $sslpath &> /dev/null
    mv $crtfile $sslpath/
    chcon -t httpd_config_t $sslpath/*
fi

echo $keyfile
if [ -n "$keyfile" ];then
    rm -rf $sslpath/$keyfile
    mkdir -p $sslpath &> /dev/null
    mv $keyfile $sslpath/
    chcon -t httpd_config_t $sslpath/*
fi

chcon -t httpd_config_t $sslpath

sudo systemctl restart nginx
sudo systemctl restart php-fpm

cd $nowdirectory

[步骤] WordPress 静态网站的生成 (离线使用版的静态网站)

步骤一:在本地电脑上安装必要的软件

1.1 在本地电脑上下载并安装 LocalWP 软件

登录此网站以后点击下载并安装

Home

(步骤略)

1.2 在本地电脑上下载并安装 Traktor 软件

登录此网站以后点击下载并安装

https://traktor.wp-migration.com

(步骤略)

步骤二:在 WordPress 网站上安装必要的插件

2.1 在正式的 WordPress 网站上安装 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Add plugin –> 在 Search PLugin 的文字栏里输入 “All-in-One WP Migration and Backup” –> 按下回车键 –> Install Now

2.2 在正式的 WordPress 网站上安装 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Add plugin –> 在 Search PLugin 的文字栏里输入 “Simply Static” –> 按下回车键 –> Install Now

步骤三:在正式的 WordPress 网站上设置 Simply Static 插件

3.1 在正式的 WordPress 网站上激活 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> Simply Static –> Activate

3.2 在正式的 WordPress 网站上将 Simply Static 插件的 Replacing URLs 修改为 Offline Usage

登录 WordPress 后台 –> Simply Static –> Settings –> General –> Replacing URLs –> Offline Usage –> 将网页下拉到底 –> Save Settings

(注意:一定要点击 Save Settings 否则此步骤将白做)

3.3 在正式的 WordPress 网站上禁用 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> Simply Static –> Deactivate

步骤四:在正式的 WordPress 网站上将网站全量备份并下载到本地

4.1 在正式的 WordPress 网站上激活 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-in-One WP Migration and Backup –> Activate

4.2 在正式的 WordPress 网站上生成并下载网站的全量备份文件包

登录 WordPress 后台 –> All-in-One WP Migration –> Export –> EXPORT SITE TO –> FILE –> 等待进程完成后点击下载 –> CLOSE

(注意:成功备份后生成的网站的全量备份文件包会以 xpress 后缀结尾)

4.3 在正式的 WordPress 网站上删除存留的文件(必须要做)

登录 WordPress 后台 –> All-in-One WP Migration –> Export –> Backups –> … –> Delete — OK

4.4 在正式的 WordPress 网站上禁用 All-in-One WP Migration and Backup 插件 (必须要做)

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-in-One WP Migration and Backup –> Deactivate

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误地恢复到正式的 WordPress 网站上)

步骤五:退出正式的 WordPress 网站后台 (必须要做)

位于右上角的头像 –> Log Out

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤六:彻底关闭正式的 WordPress 网站的网页 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤七:在本地电脑使用 Traktor 软件检验网站的全量备份文件包是否完整

7.1 在本地电脑使用 Traktor 软件检验网站的全量备份文件包是否完整

打开 Tracktor 软件 –> 将网站的全量备份文件包拖入窗口中

(补充:当窗口右下角的 “Extract to…” 按键从灰色变成白色则代表此文件包通过校验)

(
注意:
1) 这里的全量备份文件包是指步骤 4.2 中下载的文件
2) 校验成功后不要点击 “Extract to…” 按键
3) 全量备份文件包以 xpress 后缀结尾
)

7.2 在本地电脑关闭 Traktor 软件

(步骤略)

步骤八:在本地电脑通过 LocalWP 软件使用网站的全量备份文件包将正式的 WordPress 网站的全部数据恢复到本地的 WordPress 测试网站

8.1 在本地电脑通过 LocalWP 软件创建本地的 WordPress 测试网站

打开 LocalWP 软件 –> Create a new site –> Create a new site –> Continue –> 在 What’s your site’s name 的文字栏里输入:“local” –> Continue –> Preferred –> Continue –> 在 WordPress username 的文字栏里输入:“local” –>
在 WordPress password 的文字栏里输入:“local” –> Add Site

(注意:这里每次输入的 “local” 绝对不能换成和正式的 WordPress 网站相同的对应值,这样做是为了在登录时明白这是新创建的网站,避免将备份文件错误恢复到正式的网站上)

8.2 登录本地的 WordPress 测试网站的后台

点击在 LocalWP 软件的窗口上的 Open site –> 确认网站首页有类似 “Hello world!” 之类的提示是新网站 –> 在浏览器上输入 “http://local.local/wp-login.php” –> Username or Email Address 的文字栏里输入:“local” –> 在 Password 的文字栏里输入:“local” –> Log in

(注意:这里每次输入的 “local” 绝对不能换成和正式的 WordPress 网站相同的对应值,否则你有可能会进入正式的网站上然后进行误操作然后造成不可挽回的后果)

8.3 在本地的 WordPress 测试网站的后台安装 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Add plugin –> 在 Search PLugin 的文字栏里输入 “All-in-One WP Migration and Backup” –> 按下回车键 –> Install Now

(注意:如果这里的 All-in-One WP Migration and Backup 插件在你安装前就已经安装好了,则代表你有可能进入正式的 WordPress 网站操作,请立即停止此操作并关闭所有网页和浏览器,然后重新开始步骤 8.2)

8.4 在本地电脑通过 LocalWP 软件使用网站的全量备份文件包将正式的 WordPress 网站的全部数据恢复到本地的 WordPress 测试网站

8.4.1 在本地 WordPress 测试网站上激活 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-in-One WP Migration and Backup –> Activate

8.4.2 在本地电脑通过 LocalWP 软件使用网站的全量备份文件包将正式的 WordPress 网站的全部数据恢复到本地的 WordPress 测试网站

登录 WordPress 后台 –> All-in-One WP Migration –> Import –> IMPORT FROM –> FILE –> 选择 将网站的全量备份文件包 –> Upload –> PROCEED –> FINISH

(注意:这里的全量备份文件包是指步骤 4.2 中下载的文件)

步骤九:在本地电脑立刻删除用完后的网站的全量备份文件包 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤十:在本地电脑立刻在回收站中彻底消灭完后的网站的全量备份文件包 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤十一:在本地 WordPress 测试网站上生成静态网站

11.1 登录使用网站的全量备份文件包还原后的本地 WordPress 测试网站

在浏览器上输入 “http://local.local/login” –> 用你正式的 WordPress 网站的登录信息登录本地 WordPress 测试网站

(补充:这里以正式的 WordPress 网站的后台登录入口后缀是 login 为例,如果登录入口后缀是 wp-login.php 则这里应该输入的网址是 http://local.local/login)

(注意:这里每次输入的 “local” 绝对不能换成和正式的 WordPress 网站相同的对应值,否则你有可能会进入正式的网站上然后进行误操作然后造成不可挽回的后果)

11.2 禁用任何安全插件 (必须要做)

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-In-One Security (AIOS) –> Deactivate

(补充:这里以禁用 All-In-One Security (AIOS) 安全插件为例)

11.3 激活 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> Simply Static –> Activate

11.4 在本地 WordPress 测试网站上生成静态网站

Simply Static –> Generate –> Push –> 等待 Activity Log 窗口里显示 Dong! Finished –> Click here to download

(注意:此步骤会消耗大量时间,最终会下载 1 个以 simply-static 开头的压缩包,此压缩包就是静态网站的压缩包)

11.5 检查本地电脑的垃圾箱确保静态网站的压缩包没有被删除

如果以 simply-static 开头的压缩包在垃圾箱里,则需要把移动到正式的目录里

步骤十二:在本地电脑立刻删除用完后的本地 WordPress 测试网站 (必须要做)

右键点击在 LocalWP 软件的窗口上的 local –> Delete –> 确保 Move site files to trash 前面的勾有勾上 –> Delete site

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤十三:在本地电脑立刻在回收站中彻底消灭完后的本地 WordPress 测试网站 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)