最近在写一个文件同步和备份的软件,特此记录
同步
单向同步
同步选项
-
选项一: 源目录的文件和目标目录的文件都发生修改:
-
覆盖文件: 源目录 -> 目录目录
-
跳过文件: 不作任何处理
-
-
选项二: 源目录的文件被删除时,是否删除目标目录的文件
同步逻辑
第一次同步会获取源目录和目标目录所有文件的信息, 并将信息写入本地。这时源目录下所有文件都是新增的。后续同步会获取源目录和目标目录所有文件的信息, 并对比本地信息的修改来进行同步。
-
源目录无修改: 无操作
-
源目录新增文件: 对比信息文件判断是否新增
-
目标目录无修改: 源目录 -> 目录目录
-
目标目录新增文件: 选项一
-
-
源目录修改文件: 对比信息文件判断是否修改
-
目标目录无修改: 源目录 -> 目录目录
-
目标目录修改文件: 选项一
-
目标目录删除文件: 源目录 -> 目录目录
-
-
源目录删除文件: 对比信息文件判断是否删除
-
目标目录无修改: 源目录 -> 目录目录
-
目标目录修改文件: 选项一
-
目标目录删除文件: 无操作
-
镜像同步
同步选项
-
单向同步选项一: 覆盖文件
-
单向同步选项二: 同步删除目标目录的文件
同步逻辑
逻辑同单向同步
双向同步
同步选项
-
选项一: 源目录的文件和目标目录的文件都发生修改:
-
保留最新的文件: 对比文件修改时间,如果源目录的文件最新, 则覆盖目标目录的文件; 反之,覆盖源目录的文件
-
以源目录为准: 源目录 -> 目录目录
-
以目标目录为准: 源目录 <- 目录目录
-
跳过文件: 不作任何处理
-
-
选项二: 源目录的文件被删除时,是否删除目标目录的文件
-
选项三: 目标目录的文件被删除时,是否删除源目录的文件
同步逻辑
第一次同步会获取源目录和目标目录所有文件的信息, 并将信息写入本地。这时源目录下所有文件都是新增的。后续同步会获取源目录和目标目录所有文件的信息, 并对比本地信息的修改来进行同步。
-
源目录无修改: 对比信息文件判断
-
目标目录新增文件: 源目录 <- 目录目录
-
目标目录修改文件: 源目录 <- 目录目录
-
目标目录删除文件: 源目录 <- 目录目录
-
-
源目录新增文件: 对比信息文件判断是否新增
-
目标目录无修改: 源目录 -> 目录目录
-
目标目录新增文件: 选项一
-
-
源目录修改文件: 对比信息文件判断是否修改
-
目标目录无修改: 源目录 -> 目录目录
-
目标目录修改文件: 选项一
-
目标目录删除文件: 源目录 -> 目录目录
-
-
源目录删除文件: 对比信息文件判断是否删除
-
目标目录无修改: 源目录 -> 目录目录
-
目标目录修改文件: 源目录 <- 目录目录
-
目标目录删除文件: 无操作
-