我想在Windows 7下实时同步两个文件夹。
基本上,我想监控一个文件夹并将每个更改(新文件、更改的文件、删除的文件)同步到另一个驱动器。它必须是实时的,因此当发生更改时它会立即同步。单向同步就足够了。
我尝试过微软的同步玩具,但它只能手动或按计划进行同步(因此不满足“实时”要求)。
这可以通过 Windows 7 本身实现吗?如果不行,还有其他方法可以实现吗?
答案1
去同步让您可以做到这一点。我不确定它在 Windows 7 中如何工作,但它是免费软件和独立软件,所以尝试一下也没什么坏处。
答案2
我使用 ROBOCOPY 命令并创建了一个命令行来执行两个文件夹之间的同步(增量同步)。我的命令如下
ROBOCOPY "Source_Folder" "Destination_Folder" /E /ZB /XJ /XF "~*.*" "*~.*" "desktop.ini" "Thumbs.db" "*.torrent" ".lock" ".Sync*" /xd "Rubbish" ".Sync*" ".Box Sync" "_private" "Outlook Files" /FFT /MT /R:2 /W:5 /V /MON:1 /TEE
(排除文件:、、、、、、"~*.*"
和) (排除文件夹,包括这些文件夹中的文件:、、、、 和 )。此外,这会在每一分钟和/或文件/文件夹的单个更改时重复 。
"*~.*"
"desktop.ini"
"Thumbs.db"
"*.torrent"
".lock"
".Sync*"
"Rubbish"
".Sync*"
".Box Sync"
"_private"
"Outlook Files"
旗帜
/E Copy subdirectories, including empty ones.
/ZB Use restartable mode; if access denied use backup mode.
/XJ Exclude junction points. (normally included by default).
/FFT Assume FAT file times (2-second granularity).
/MT Do multi-threaded copies with 8 threads.
/R:2 Number of retries on failed copies.
/W:5 Wait time between retries.
/V Produce verbose output, showing skipped files.
/TEE Output to console window, as well as the log file.
/MON:1 Monitor source; run again when more than 1 change seen.
/XF [files] Exclude files matching given names/paths/wildcards.
/XD [dirs] Exclude directories matching given names/paths.
有关标志的列表,请参阅Robocopy 终极指南。
答案3
有辛克龙它是开源的并且跨平台的。
答案4
因为我读了你的评论“...映射驱动器(同步目标)是 Linux”,所以我想给你一个更好的方法:你只需要在 Linux 目标上进行 ssh 访问,它速度更快,并且在较低带宽和较长延迟下工作得更好。
您需要对传输选项进行一些调整,以设置始终为二进制文件、排除文件(通常是 svn 或 git 文件等)等。还可以使用传输选项的“自动应用”。此外,创建一个设置了主机、本地和远程目录的会话。此时,您只需打开 WinSCP,激活会话(然后由于主机匹配等原因,会话也会自动应用传输选项),然后点击保持更新按钮。
或者你可以编写这个脚本使用 WinSCPs 脚本工具!
.. 顺便说一句:如果场景是 Unix-to-Unix,那么看看这个问题。