一键脚本配置备份方法:从 Shell 脚本到自动备份

"一键脚本配置备份"并不是单纯把文件复制一遍,而是把备份范围、备份路径、时间戳命名、日志记录、定时执行和恢复验证 整合到一个可重复运行的流程里。脚本适合快速处理单台服务器或本地电脑的配置备份;如果有多台设备、数据库、内网/公网互备需求,则可以配合 80KM备份软件 做长期自动化备份。


一、写一键备份脚本前先确定备份范围

不同环境要备份的内容不同,常见包括:

  • 系统配置 :/etc/profile、/etc/hosts、/etc/fstab 等;
  • 服务配置:SSH、Nginx、PHP、Docker、定时任务等;
  • 网站文件:站点根目录、静态资源、上传目录;
  • 数据库:MySQL、MSSQL、Access 等需要通过导出方式备份;
  • 应用配置:开发工具、终端配置、脚本模板、环境变量;
  • 敏感文件:证书、密钥、API Key 需要单独加密保存。

建议先用清单整理好路径,再写入脚本,避免漏掉关键配置。


二、Linux 一键配置备份脚本示例

下面是一个适合 Linux 服务器使用的轻量备份脚本,可以保存为 backup_conf.sh:

复制代码
#!/bin/bash
# 一键配置备份脚本

BAK_TIME=$(date +%Y%m%d_%H%M%S)
BAK_DIR="/backup/config_backup_${BAK_TIME}"
LOG_FILE="/backup/backup_${BAK_TIME}.log"

mkdir -p "$BAK_DIR"

echo "[$(date)] 开始备份" > "$LOG_FILE"

# 需要备份的配置文件列表
FILES=(
  "/etc/ssh/sshd_config"
  "/etc/profile"
  "/etc/hosts"
  "/etc/fstab"
  "/etc/nginx/nginx.conf"
)

for file in "${FILES[@]}"; do
  if [ -f "$file" ]; then
    cp -a "$file" "$BAK_DIR/"
    echo "已备份:$file" | tee -a "$LOG_FILE"
  else
    echo "文件不存在:$file" | tee -a "$LOG_FILE"
  fi
done

echo "[$(date)] 备份完成,目录:$BAK_DIR" | tee -a "$LOG_FILE"

使用方法:

复制代码
chmod +x backup_conf.sh
sudo ./backup_conf.sh

执行后,脚本会自动创建带时间戳的备份目录,并记录日志,方便后续排查。


三、Windows 一键配置备份脚本示例

Windows 用户可以使用批处理脚本备份指定文件夹。例如保存为 backup_config.bat:

复制代码
@echo off
set BACKUP_DIR=D:\Backups\Config
set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set TIMESTAMP=%TIMESTAMP: =0%

if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"

xcopy "C:\Users\%USERNAME%\Documents\Config" "%BACKUP_DIR%\%TIMESTAMP%\" /E /H /C /I /Y

echo 备份完成:%BACKUP_DIR%\%TIMESTAMP%
pause

如果还需要备份注册表,可以先通过注册表编辑器手动导出关键键值为 .reg 文件,再让脚本备份这些导出文件。


四、把脚本加入定时任务

脚本写好并测试通过后,建议加入定时任务,避免每次都要手动执行。

Linux 可使用 crontab:

复制代码
crontab -e

例如每天凌晨 3 点执行:

复制代码
0 3 * * * /root/backup_conf.sh >> /backup/cron.log 2>&1

Windows 可通过"任务计划程序"设置每天固定时间运行备份脚本。


五、用 80KM备份软件实现跨设备自动备份

脚本适合单点备份,但如果需要把多台电脑、服务器、NAS 或远程设备的数据集中保存,使用 80KM备份软件 会更方便。它支持a端与b端之间的双向备份,也可以处理内网对内网、内网到公网 IP、公网到内网电脑等场景。


六、脚本备份与 80KM 备份如何搭配

表格

场景 推荐方式 说明
单台 Linux 服务器配置备份 一键脚本 适合备份 /etc、Nginx、SSH 等配置文件
Windows 本地配置备份 批处理脚本 适合备份文档、配置文件夹、导出文件
多台设备集中备份 80KM备份软件 适合把多个端数据汇总到一台电脑
跨网络备份 80KM备份软件 支持内网与公网之间的数据传输

更稳妥的做法是:先用一键脚本完成本地配置快照,再通过 80KM备份软件把备份目录同步到另一台设备或存储端。这样既能保留每次修改前的配置版本,也能降低单台设备故障导致备份一起丢失的风险。


七、备份完成后一定要做恢复测试

备份不是执行完就结束,建议定期验证:

  • 检查备份目录是否生成了带时间戳的文件;
  • 随机抽取几个配置文件进行恢复测试;
  • 数据库备份尝试重新导入,确认数据完整;
  • 记录恢复步骤,避免紧急情况下找不到操作方法;
  • 重要数据至少保留一份异地备份。

一键脚本解决的是"快速、可重复地备份",80KM备份软件解决的是"跨设备、定时、长期自动备份"。两者结合使用,可以把配置备份从临时操作变成稳定流程。

相关推荐
星 海1 小时前
自定义报文解析器
网络
工作10年+,存储芯片行业1 小时前
企业级 SSD 耐久度评测(JESD218 / JESD219 + FIO)
网络·ssd·nvme·存储·pcie·nand·fio
水饺编程1 小时前
第1章,[Win32 章节]:在 VS2019 里面安装 MSDN
c语言·c++·windows·visual studio
Eloudy2 小时前
RoCE 的 UC SEND/RECEIVE 的完整交互过程分析
网络·rdma·roce
花间相见2 小时前
【计算基础|网络10】TCP(中):可靠传输
网络·网络协议·tcp/ip
谢亮_vipxieliang2 小时前
多智能体系统的“TCP/IP时刻”:MCP与A2A协议如何定义Agent时代
网络·tcp/ip·ai·php
水饺编程2 小时前
第1章,[Win32 章节]:编程环境与 MSDN
c语言·c++·windows·visual studio
丨白色风车丨2 小时前
Python中JSON与字典/列表的相互转换详解
windows·python·json
草莓熊Lotso3 小时前
【C++ 基于微服务的即时通讯系统】基建三件套:gflags + gtest + spdlog 源码编译安装与实战入门
linux·网络·数据库·c++·微服务·log4j