在 CentOS(或其他 Linux 系统)里,“软连接(symbolic link)怎么同步”通常有几种常见场景。下面按最常见需求给你讲清楚,并给可用命令。
ln -s 源文件 软连接名
例如:
ln -s /data/app/config.yml /etc/app/config.yml
/etc/app/config.yml 是指向 /data/app/config.yml 的软连接。
如果你用 rsync 备份或同步目录:
rsync -avz /source/ /dest/
⚠️ 默认行为:
如果你想:
rsync -avzL /source/ /dest/
参数说明:
-l:保留软连接(默认)-L:跟随软连接,复制真实文件比如你在多台 CentOS 上都要建一样的软连接:
ln -sf /opt/app-v2 /opt/app
批量执行(如 ansible):
ansible all -m file \
-a "src=/opt/app-v2 dest=/opt/app state=link"
如果你用 cp:
cp -r /source /dest
❌ 默认会复制软连接指向的文件 ✅ 想保留软连接:
cp -a /source /dest
或:
cp -d /source /dest
不需要重新建软连接
只要源文件更新,软连接自动生效。
例如:
ln -s app-v1 app
# 升级
rm app
ln -s app-v2 app
ls -l /path
或:
readlink /path/softlink
rsync -aln -sfcp -r 同步含软连接的目录如果你能说清楚:
我可以给你精确命令。