[工具] Shell 将本地 LNMP 的网站文件和网站数据备份并传送到远程服务器

介绍

基本信息

作者:朱明宇
名称:将本地 LNMP 的网站文件和网站数据备份并传送到远程服务器
作用:将本地 LNMP 的网站文件和网站数据备份并传送到远程服务器
使用方法

使用方法

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

脚本分割线里的变量

1. filename=eternalcenter-backup #备份文件的中间名
2. lpath=”/usr/share/nginx/html” #本地存放网站文件的目录
3. tcache=”/tcache” #本地临时存放网站文件备份和网站数据备份的目录
4. bip=”192.168.0.1 192.168.0.2″ #远程服务器的 IP 地址,多个 IP 地址可以用空格分开
5. buser=”mingyuzhu” #登录远程服务器的用户
6. bcache=”/bcache” #远程服务器用于存放备份的目录

注意

1. 本地需要已经搭建好 LNMP 平台
2. 用于远程服务器的用户,需要能免密钥 ssh 远程服务器,且对于本地用于备份数据的目录和远程服务器用于备份数据的目录拥有读和执行的权限
3. 脚本里的 ”mysqldump -uroot -p’eternalcenter’ lnmp > $tcache/$filename-$date.sql“ 是指本地 MariaDB 数据库用户是 root、密码是 eternalcenter、要备份的库名是 lnmp,这些都需要修改成真实环境中对应的值
4. tcache=”/tcache” 本地临时存放网站文件备份和网站数据备份的目录,每次执行此脚本时这个目录里面以前的值都会被清空

脚本

#!/bin/bash


filename=eternalcenter-backup #middle name
lpath="/usr/share/nginx/html" #website server directory

tcache="/tcache" #website cache

bip="147.182.245.159"
buser="mingyuzhu"
bcache="/bcache"


date=$(date +%Y-%m-%d-%H)

######################## backup webiste date #########################
mkdir $tcache &> /dev/null
rm -rf $tcache/* &> /dev/null
mysqldump -uroot -p'ec@zhu mingyu#123abc!@#' ec > $tcache/$filename-$date.sql
cd $lpath
sudo tar -zcvf $tcache/$filename-$date.tar.gz .[!.]* * &> /dev/null
cd
######################## backup webiste date #########################


######################## 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 $tcache/* $buser@$i:$bcache/ 
        fi
fi
done

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

[步骤] 系统升级 (从 Fedora 42 升级到 Fedora 44)

步骤一:升级所有已安装的软件

# sudo dnf update

步骤二:安装 Fedora 升级软件

# sudo dnf install dnf-plugin-system-upgrade

步骤三:刷新所有现有版本的软件源

# sudo dnf upgrade --refresh

步骤四:下载升级所有所需的软件

# sudo dnf system-upgrade download --releasever=44

步骤五:重启并升级系统

# sudo dnf system-upgrade reboot

(注意:系统会重启,并在后台升级系统,这个步骤可能会持续很长一段时间,根据虚拟机的硬件性能而定)

[排错] 解决 DELL 物理服务器重启后在 BIOS 界面卡住并报错 “The system Configuration Check operation resulted in the following issue: Comm Error: Backplane 0.”

报错现象

DELL 物理服务器重启后在 BIOS 界面卡住并报错

报错代码

The system Configuration Check operation resulted in the following issue: Comm Error: Backplane 0.

解决方法

步骤一:升级系统 BIOS

(步骤略)

步骤二:重启物理服务器

(步骤略)

[排错] 解决系统启动后卡在 “A start job is running for /dev/mapper/…… (…… / no limit)”

报错代码案例

当系统启动时,系统会一直卡住,并在 console 口显示以下内容:

A start job is running for /dev/mapper/vg-lv_swap (...... / no limit)

案例原因分析

GRUB 参数 resume=/dev/mapper/vg-lv_swap 阻止了系统启动

解决方法

步骤一:重启系统

(步骤略)

步骤二:进入系统启动时的 GRUB 参数临时设置界面

当系统启动时出现内核列表时按下 “e” 键

步骤三:临时删除阻止系统启动的 GRUB 参数

在以 Linux 开头的这一行里删除以下内容:

...... resume=/dev/mapper/vg-lv_swap ......

(补充:这里以删除 GRUB 参数 resume=/dev/mapper/vg-lv_swap 为例)

步骤四:在临时删除阻止系统启动的 GRUB 参数后进入系统

同时按下 “ctrl” 键和 “x” 键

步骤五:使用 root 账号登陆系统

(步骤略)

步骤六:在系统里永久删除阻止系统启动的 GRUB 参数

# grubby --update-kernel ALL --remove-args "resume=/dev/mapper/vg-lv_swap"

(补充:这里以删除 GRUB 参数 resume=/dev/mapper/vg-lv_swap 为例)