You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Mercurial仅备份指定系统文件并完成仓库相关操作

使用Mercurial备份分散系统配置与目录的实操指南

一、选对仓库初始化位置,避免麻烦

我建议你在自己的用户目录下创建一个专门的备份仓库,比如~/system-config-backup。这么做的好处是:既不会和系统自带文件混在一起,还能避开系统目录的权限限制(毕竟/etc这类目录的操作通常需要root权限,放在用户目录下日常维护更自由)。

初始化仓库的命令很简单:

# 创建并进入专属备份目录
mkdir -p ~/system-config-backup
cd ~/system-config-backup
# 初始化Mercurial仓库
hg init

二、添加分散文件:复刻系统结构更省心

为了后续恢复时少踩坑,最好在仓库里复刻系统的目录结构——比如把/etc/ssh/sshd_config放到仓库的etc/ssh/文件夹下,这样克隆到新系统后,直接复制整个目录到根目录就能完成恢复,不用逐个文件找位置。

具体操作步骤:

  1. 先在仓库里搭建对应目录结构:
mkdir -p etc/ssh etc/fail2ban var/www .local/bin .config
  1. 把需要备份的文件/目录复制到仓库的对应位置:
# 复制单个系统配置文件
cp /etc/ssh/sshd_config etc/ssh/
cp /etc/fail2ban/jail.local etc/fail2ban/

# 复制整个目录(保留原有内容)
cp -r /var/www/* var/www/
cp -r ~/.local/bin/* .local/bin/
cp -r ~/.config/* .config/
  1. 将这些文件添加到Mercurial的跟踪列表:
# 一次性添加所有文件(推荐)
hg add .

# 或者精确指定要添加的内容
hg add etc/ssh/sshd_config etc/fail2ban/jail.local var/www/ .local/bin/ .config/

三、提交备份内容,完成第一次快照

添加完成后,就可以提交这份备份了,记得写清楚提交信息,方便后续查看版本历史:

hg commit -m "Initial backup: sshd/fail2ban configs + web files + user local apps/configs"

四、后续维护:更新备份的正确姿势

之后如果这些配置文件或目录有修改,你可以:

  • 要么直接在仓库的对应目录里修改,再同步回系统路径;
  • 要么先修改系统里的文件,再复制到仓库对应的位置。

完成修改后,执行提交命令即可:

hg commit -m "Update sshd_config: disabled password authentication"

五、新系统恢复:一步到位的小技巧

当你在新系统上克隆完这个仓库后,只需要把仓库里的内容复制回系统对应路径:

# 假设仓库已克隆到~/system-config-backup
sudo cp -r ~/system-config-backup/etc/* /etc/
sudo cp -r ~/system-config-backup/var/www/* /var/www/
cp -r ~/system-config-backup/.local/bin/* ~/.local/bin/
cp -r ~/system-config-backup/.config/* ~/.config/

内容的提问来源于stack exchange,提问作者nightcod3r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:05:24