可能重复:
同步两台计算机的最佳方法?
我希望能够在我的计算机(Ubuntu、Windows XP 和 Windows 7)之间同步文件。理想情况下,我的家人使用起来应该足够简单。真正的同步(而不仅仅是共享文件夹)很重要,这样我的兄弟就可以随时随地访问笔记本电脑上的文件。
不幸的是,我的 Internet 下载/上传限制非常有限,所以我不想浪费时间进行同步。有没有办法只通过 LAN 进行同步?
答案1
答案2
同步可以做到这一点,并且它(或端口)可用于您列出的所有平台。
- Windows XP 和 Windows 7 可以使用同步
- Ubuntu 自带已预安装 rsync,如果由于某种原因没有,该页面上的链接可以帮助您进行安装和依赖关系。
由于您希望其他人也能轻松完成此操作,我建议您简单地进行共享并让计划任务按照您选择的间隔进行同步(Windows 上的计划任务,Ubuntu Linux 上的 Cron),这样您的用户就看不到此过程。您可以在 Ubuntu 上使用cp
开关-u
来仅复制较新和不存在的文件。在 Windows 上,您可以将 XCOPY 与和/E /I /H /Y
开关一起使用/Z
。示例:
对于 Ubuntu:
cp -u /home/john/stuff/* //Winshare/somefolder
对于 Windows(批处理,你可能希望隐藏运行以检查这个问题):
XCOPY /E /I /H /Y /Z C:\Source D:\Ubuntu\Dest
为此,您需要在 Ubuntu 上安装 Samba,并且需要在 Windows 机器上创建共享。此外,由于您兄弟的笔记本电脑偶尔会被移动,您需要一种方法(您可以编写一个小脚本)来删除 cron 条目,他需要在移动笔记本电脑之前运行该条目。crontab -r
对于名为 的脚本来说,简单的事情就disconnect.sh
足够reconnect.sh
了crontab /path/to/premadetab.txt
。其中premadetab.txt
只需输入指定同步频率的条目。如果您不熟悉 cron,您可以使用crontab 生成器。
答案3
如果是在局域网内,为什么不在其中一个系统上设置一个 smb 文件夹并使用它呢?如果你真的需要,您可能可以使用各种本机工具来保留本地副本,但这对我来说听起来最简单的。
答案4
允许所有计算机接受传入的 FTP 连接,将其从 Internet 阻止在路由器中,或者除非您保护了计算机,否则请将其打开,然后您可以使用 DyneDNS 进行连接。但在本地,请在家中的 Windows 计算机上设置 synctoy。