在 Debian(以及其它 Linux 发行版)里,软连接(symbolic link)本身只是一个很小的“指针文件”,备份时关键有两点:
下面按常见场景给你几种做法。
tar 备份(最推荐)tar -czpf backup.tar.gz /path/to/dir
关键点:
-p:保留权限tar 不会展开软连接,会原样备份软连接查看里面是不是软连接:
tar -tzvf backup.tar.gz
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 默认 |
✅ 保留软连接 |
如果你能说清楚:
我可以给你更精准的命令或脚本。