在两台笔记本电脑之间同步文件

在两台笔记本电脑之间同步文件

我之所以问这个问题,是因为当人们尝试在具有不同版本并使用不同 Ocaml 版本进行编译的不同操作系统之间进行同步时,Unison 会出现众所周知的问题。

那么有什么好的替代方案吗?我只想一次同步两个文件夹。有没有类似 Unison 的东西,操作起来不太难?

一台机器运行 Ubuntu 18.04,另一台机器运行 Ubuntu 20.04。

答案1

rsync 是一个很好的选择,但是你需要在两台机器之间准备好一些其他的东西,以便在至少一台机器上启动一个 ssh 服务器,如果你不想每次同步文件夹时都使用密码,你必须设置一个 ssh-id 密钥,这样更安全,如果两台机器在同一个网络中,那就没有问题,但如果它们在不同的地方,那么你需要做一个端口转发,让我们在本地网络中保持简单,你必须在每台 linux 机器上都运行 ssh 服务器

“我忘了这是一个脚本 shell,而且它没有 GUI,我几乎不知道它,你必须从终端执行此操作,但它非常容易,功能强大且速度快”

从源文件夹所在的机器

rsync -avz "/path/to/folder/to/sync" [email protected]:/folder/where/it/is/going/to/be

首先尝试避免在远程路径上使用空格,或者使用 \ 等

/folder where/it is/going to be

这将是

"/folder\ where/it\ is/going\ to\ be"

处理路径上空格的另一种方法是添加 -s 就像

rsync -avzs "/path to/folder to/sync" etc......

或者

rsync -avzs [email protected]:"/path to/folder to/sync" etc......

如果源代码在另一台机器上,而你想从中拉取它或者下载它,无论你想叫它什么,你都应该这样做

rsync -avzP [email protected]:/path/to/folder/to/sync "/folder/where/it/is/going/to/be" 

我希望这对你有帮助!

rsync -avzP  

-a archive mode; equals -rlptgoD (no -H,-A,-X)
-v increase verbosity
-z compress file data during the transfer
-P show progress during transfer
-s no space-splitting; wildcard chars only

相关内容