在Ubuntu和Windows Server之间同步文件

我有一个Ubuntu服务器12.4 LTS与Samba共享,我想同步我的共享文件夹中的所有文件夹到Windows服务器(Win2k8R2)。 到目前为止,我已经使用幸运备份,Freesync和Unison,但都失败了一个错误味精,甚至没有将数据复制到Windows服务器。

任何想法我可以做到这一点?

你可以从你的Windows系统安装你的目标文件夹作为Ubuntu系统中的驱动器,并使用rsync来实现你的目标:

rsync -rtv source_folder/ destination_folder/ 

在source_folder通知中,我在最后添加了一个斜杠,这样做可以防止创build新文件夹,如果不添加斜杠,将在目标文件夹中创build一个名为源文件夹的新文件夹。 因此,如果要将名为“图片”的文件夹的内容复制到名为“图片”的现有文件夹中,但在其他位置,则需要添加尾部斜线,否则,在“图片”文件夹内会创build一个名为“图片”的文件夹我们指定为目的地。

参数-r表示recursion,这就是说,它会复制源文件夹的内容,以及其中每个文件夹的内容。

参数-t使rsync保留从源文件夹复制的文件的修改时间。

参数-v意思是详细的,这个参数会打印关于命令执行的信息,比如成功传输的文件,所以我们可以用它来跟踪rsync的进度。

这是我经常使用的参数,因为我通常备份个人文件,这不包含诸如符号链接之类的东西,但另一个非常有用的使用rsync的参数是参数-a

 rsync -av source/ destination/ 

参数-a还使复制recursion并保留修改时间,但是另外它复制它遇到的符号链接,作为符号链接,保留权限,保留所有者和组信息以及保存设备和特殊文件。 如果您要复制用户的整个主文件夹,或者要将系统文件夹复制到别处,这非常有用。