在 CentOS(以及大多数 Linux 系统)中,**软连接(symbolic link)**本身只是一个指向目标路径的特殊文件。备份软连接时,关键是保留“链接本身”,而不是把目标文件再复制一份。下面给你几种常见、可靠的做法。
tar 备份(最推荐 ✅)tar 可以保留软连接本身,只要不加特殊参数。
tar -cvpf backup.tar /path/to/dir
说明:
-c:创建-v:显示过程-p:保留权限-f:指定文件名✅ 默认行为:软连接会被原样保存
tar -xvpf backup.tar
恢复后:
ls -l
你会看到:
lrwxrwxrwx 1 user user 10 date file -> /real/path
cp 备份(要注意参数 ⚠️)cp /path/to/link /backup/
cp -P /path/to/link /backup/
或整个目录:
cp -a /path/to/dir /backup/
说明:
-P:不跟随软连接-a:归档模式(包含 -P)rsync 备份(服务器常用 ✅)rsync -av /path/to/dir/ /backup/dir/
✅ rsync 默认会保留软连接
✅ 非常适合增量备份
ls -l
ln -s /real/target linkname
tar -tvf backup.tar
或:
ls -l restored_dir
看到 l 开头:
lrwxrwxrwx ...
✅ 说明是软连接,不是普通文件
| 操作 | 结果 |
|---|---|
cp 软连接 目标 |
复制真实文件 |
tar -h |
把软连接变成真实文件 |
rsync -L |
跟随软连接 |
✅ 最稳妥
tar -cvpf backup.tar /path
✅ 服务器同步
rsync -av /src/ /dest/
✅ 简单复制
cp -a /src /dest
如果你愿意,可以把你的具体场景告诉我(比如:
/usr/bin 的软连接我可以给你一条完全贴合你环境的命令。