我想做一种同步方式。
我有Folder A
我的电脑,其不断与内容更新。
另一个Folder B
用于备份目的,位于外部HDD上。
现在,我期望的是文件夹A中存在的所有多余内容都应移至文件夹B。但是B中而不是A中存在的某些内容““不得复制到A”“。
简而言之,备份文件夹可以将所有内容从源文件夹复制,但是不应将任何内容从备份文件夹复制到源。
我想做一种同步方式。
我有Folder A
我的电脑,其不断与内容更新。
另一个Folder B
用于备份目的,位于外部HDD上。
现在,我期望的是文件夹A中存在的所有多余内容都应移至文件夹B。但是B中而不是A中存在的某些内容““不得复制到A”“。
简而言之,备份文件夹可以将所有内容从源文件夹复制,但是不应将任何内容从备份文件夹复制到源。
Answers:
听起来是rsync的完美任务
sudo rsync -az /path_to/A /path_to/B
-归档模式(暗示递归,将符号链接复制为符号链接,保留所有者,修改时间,组,所有者,特殊文件和设备文件)
-z压缩数据
如果要从B中的文件中删除A中删除的文件,请使用--delete
选项
有关更多信息,请参见:
https://help.ubuntu.com/community/rsync
您可以从cron运行rsync
sudo crontab -e
添加一个小时任务
@hourly rsync /path_to/A /path_to/B
-z
只会减慢该过程
我建议为此目的使用rsync。Rsync非常快速,稳定和通用。在http://help.ubuntu.com/community/rsync上有很好的介绍。
如果愿意,可以选择使用图形前端:grsync
sudo rsync -azv --exclude 'dir1' /home/path/folderA/ /home/path/folderB
上面的命令将从dir1以外的文件夹A复制到文件夹B。标志是
-a preserves time stamps
-z is to enable compression
-v verbose
还有更多可用的选项。
我总是发现Unison很有帮助。它具有基于文本或基于GUI的界面,并且有很多不同的选项可将其调整为所需的内容(稍作改动)。进行第一次同步需要花费很多时间,但是之后非常出色。您可以根据需要将其单向同步,但是几乎可以自动获取。它也可以根据您的选择从备份中删除或不删除。
您可能还会发现ubuntu文件格式支持的权限问题,但外部硬盘驱动器可能不支持(取决于Windows计算机中是否要使用外部硬盘驱动器,这可能是件好事),因此您可能想要在没有权限的情况下进行同步。
无论如何,很好的一点是,通过本教程,它的设置一次相对简单,此后只要您想使用它便是GUI界面。
这是关于它的一些信息:http : //www.ubuntugeek.com/unison-file-synchronization-tool.html
这是本教程:http : //www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#tutorial
您可以通过以下方式同步两个目录中的文件:
rsync -rv /path/to/directory1/ /path/to/directory2
这样做rsync -rv /path/to/directory1 /path/to/directory2
会directory1
在内部创建directory2
,像这样/path/to/directory2/directory1/[files]
您可以使用-n
开关进行空转rsync -rnv /path/to/directory1/ /path/to/directory2
参考:https : //www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps
如果要在高度可配置的系统上使用图形界面,请尝试FreeFileSync。例如,请参见:http : //linuxnorth.wordpress.com/2011/11/29/file-and-folder-synchronization/ 特别是,您需要用于同步的“更新”选项,该选项将“将新文件或更新的文件复制到右文件夹”,即在两窗口显示中从左文件夹复制到右文件夹。