温馨提示×

debian软连接备份怎么做

小樊
56
2026-09-26 02:45:08
栏目: 智能运维

在 Debian(以及其它 Linux 发行版)里,软连接(symbolic link)本身只是一个很小的“指针文件”,备份时关键有两点:

  1. 保留软连接本身(不要被展开成真实文件)
  2. 记录软连接的指向关系(方便恢复或排查)

下面按常见场景给你几种做法。


一、用 tar 备份(最推荐)

1️⃣ 只备份软连接本身(不展开)

tar -czpf backup.tar.gz /path/to/dir

关键点:

  • -p:保留权限
  • 默认 tar 不会展开软连接,会原样备份软连接

查看里面是不是软连接:

tar -tzvf backup.tar.gz

2️⃣ 单独备份某个软连接

tar -czpf link_backup.tar.gz /path/to/symlink

二、用 rsync 备份(适合同步)

rsync -a /source/ /backup/

-a 包含:

  • -l 保留软连接
  • 不展开真实文件

✅ 千万不要加 -L,否则软连接会被展开成真实文件。


三、只记录软连接和指向(轻量方式)

如果你只是想记录有哪些软连接、指向哪里:

find /path/to/dir -type l -printf '%p -> %l\n' > symlinks.txt

恢复时可用脚本重建(示例):

while read link target; do
    ln -s "$target" "$link"
done < symlinks.txt

四、批量备份某个目录里的所有软连接

find /path/to/dir -type l -print0 | tar -czpf links.tar.gz --null -T -

五、恢复软连接备份

tar -xzpf backup.tar.gz -C /

或 rsync:

rsync -a /backup/ /source/

六、常见坑提醒 ⚠️

操作 结果
cp 软连接 默认复制真实文件
cp -d 保留软连接
rsync -L 展开软连接
tar 默认 ✅ 保留软连接

如果你能说清楚:

  • 是 系统级(/etc、/usr) 还是 用户目录
  • 是 整机备份 还是 只备份软连接

我可以给你更精准的命令或脚本。

0 踩