如何自动归档目录?


47

我想做一种同步方式。

我有Folder A我的电脑,其不断与内容更新。
另一个Folder B用于备份目的,位于外部HDD上。

现在,我期望的是文件夹A中存在的所有多余内容都应移至文件夹B。但是B中而不是A中存在的某些内容““不得复制到A”“。

简而言之,备份文件夹可以将所有内容从源文件夹复制,但是不应将任何内容从备份文件夹复制到源。


那不是同步....
Braiam

@Braiam那叫什么呢?我自己也想不出OP这样的字眼。如果您知道,请告诉。
Jo Smo

@JoSmo复制吗?存档?备份?
Braiam '16

@Braiam谢谢,现在我问问我很傻。:D
Jo Smo

Answers:


63

听起来是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

https://help.ubuntu.com/community/CronHowto


7
如果文件夹中有文件夹,则需要使用-r选项。
John S Gruber 2012年

2
我参加聚会有点晚,但是要在连接硬盘后运行同步脚本,您应该使用udev。不久前检查了这个问题。askubuntu.com/questions/25071/...
jackweirdy

1
@JohnSGruber -a选项表示递归,我将编辑答案以指出这一点
Tomas,

1
如果文件在同一台计算机上,-z只会减慢该过程
Postadelmaga

1
@JoSmo-as​​kubuntu.com/ questions / 476041/…askubuntu.com/questions/609968/…,然后手动 rsync并在需要时提出一个新问题,而不是提出评论。

15

我建议为此目的使用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

还有更多可用的选项。


8

我总是发现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


4
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/

这将仅同步和复制不存在于服务器中的数据。 /other/folder/on/hdd/


2

我同意其他答案,您可以在Terminal的rsync或接口GrsyncluckyBackupConduit或著名的Unison中使用

另一个很棒的应用程序是Krusader(KDE的双面板文件管理器),在“工具”菜单中可以找到“同步目录”,这非常有用。

在最后一个实例中,您可以安装Wine并安装另一个出色的双窗格文件管理器,如Total Commander

无论如何,您都有很多选择,并且所有选项都在Ubuntu软件中心中提供。


1

我建议使用Conduit进行简单同步。该软件系统可用。它确实满足您的需求


0

有一个非常方便的shell工具,称为rsnapshot - http : //www.rsnapshot.org/-文件系统快照实用程序,用于备份本地和远程系统。它使用rsync和硬链接,从而可以立即保持多个完整文件系统备份。只是sudo apt-get install rsnapshot检查一下info rsnapshot



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.