别担心,rsync --delete
这个选项确实是实现数据同步时一个非常关键但也需要小心使用的功能。它的作用是让目标目录与源目录的内容完全一致,这意味着如果某个文件或目录只存在于目标目录中,而不在源目录中,那么 rsync --delete
会将其从目标目录中删除。
为了让你更好地理解,我们来设置一个详细的场景:
假设你有两个目录:
- 源目录 (source): 存放着你希望同步的最新文件。
- 目标目录 (destination): 你希望将其内容更新为与源目录一致。
初始状态:
-
source 目录包含以下文件:
source/ ├── file1.txt ├── file2.txt └── folder_s/ └── subfile_s.txt
-
destination 目录包含以下文件:
destination/ ├── file1.txt (与 source 中的 file1.txt 内容可能相同或不同) ├── file3.txt (只存在于 destination 中) └── folder_d/ └── subfile_d.txt (只存在于 destination 中)
现在,我们使用 rsync --delete
命令进行同步: