web-dev-qa-db-ja.com

ディレクトリを自動的にアーカイブする方法は?

一方向の同期を行いたい。

Folder Aがコンピューター上にあり、コンテンツで常に更新されています。
別のFolder Bは、外部HDDにあるバックアップ用に使用されます。

今私が期待しているのは、フォルダAに存在する余分なものはすべてフォルダBに移動することです。

一言で言えば、バックアップフォルダーはソースフォルダーからすべてをコピーする場合がありますが、バックアップフォルダーからソースに何もコピーしないでください。

48
Bhavesh Diwan

Rsyncの完璧なタスクのように聞こえる

Sudo rsync -az /path_to/A /path_to/B

-aアーカイブモード(再帰を意味し、シンボリックリンクをシンボリックリンクとしてコピーし、所有者、変更時間、グループ、所有者、特殊およびデバイスファイルを保持します)

-zはデータを圧縮します

Aで削除されたファイルをBのファイルから削除する場合は、--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

63
Panther

この目的でrsyncを使用することをお勧めします。 Rsyncは非常に高速で、安定しており、多用途です。 http://help.ubuntu.com/community/rsync に良い紹介があります

必要に応じて、オプションのグラフィックフロントエンドがあります:grsync

 Sudo rsync -azv --exclude 'dir1' /home/path/folderA/ /home/path/folderB

上記のコマンドは、dir1を除くfolderAからfolderBにコピーします。フラグは

-a preserves time stamps
-z is to enable compression
-v verbose

さらに多くのオプションが利用可能です。

15
JIm

私はいつもユニゾンが非常に役立つことを発見しました。テキストベースまたは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

8
Dr Xorile
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/

これにより、/other/folder/on/hdd/に存在しないデータのみが同期およびコピーされます

4
dearN

私は他の答えに同意します、あなたはrsyncターミナルまたはインターフェースで使用できますGrsyncluckyBackupConduitまたは有名なnison

もう1つの優れたアプリはKrusader(KDE用のツインパネルファイルマネージャー)です。[ツール]メニューの[ディレクトリの同期]があり、非常に便利です。

最後のインスタンスでは、Wineをインストールし、Total Commander

とにかくたくさんのオプションがあり、それらはすべてUbuntu Software Centerにあります。

2

単純な同期にはConduitをお勧めします。ソフトウェアシステムで利用可能です。それはまさにあなたが探していることをします

1
jasonwert

次の方法で、2つのディレクトリ内のファイルを同期できます。

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

0
subhojit777

rsnapshotと呼ばれる非常に便利なシェルツールがあります- http://www.rsnapshot.org/ -のファイルシステムスナップショットユーティリティローカルおよびリモートシステムのバックアップを作成します。 rsyncとハードリンクを使用して、複数の完全なファイルシステムバックアップをすぐに利用できるようにします。 Sudo apt-get install rsnapshotを実行し、info rsnapshotをチェックするだけです

0
user1180249

高度に設定可能なシステムでグラフィカルインターフェイスが必要な場合は、FreeFileSyncを試してください。たとえば、以下を参照してください。 http://linuxnorth.wordpress.com/2011/11/29/file-and-folder-synchronization/ 特に、同期のための「更新」オプションが必要です。 「新しいファイルまたは更新されたファイルを右側のフォルダーにコピーする」、つまり、2ウィンドウ表示で左側のフォルダーから右側のフォルダーにコピーします。

0
CentaurusA