原子级替换指向网络目录的符号链接为本地实际目录
原子替换符号链接为本地目录的方法
在Linux/Unix环境下,利用mv命令的原子特性就能完成这个操作,无需分步删除符号链接再重命名,彻底避免影响生产应用的读取操作。
具体执行命令
直接运行以下命令即可实现原子替换:
mv -T 2023.tmp 2023
关键说明
-T选项的作用是强制将目标路径(原符号链接2023)视为普通文件/链接,而非目录,确保源目录2023.tmp直接替换掉原符号链接,而不是被移入目标路径下。- 整个
mv操作是原子性的:生产应用在读取2023路径时,只会看到两种状态——要么是原符号链接指向的NFS目录,要么是新的本地目录,不会出现中间空档期(比如链接已删除但新目录未创建的状态),完全不影响频繁读取的业务。
验证操作
执行命令前后可以用ls -l查看状态:
- 执行前:
2023 -> /mnt/bulk013/obs_data_archive/metwatch/2023/ - 执行后:
drwxr-xr-x ... 2023/(显示为本地目录)
内容的提问来源于stack exchange,提问作者glades
相关产品推荐
相关产品推荐

