Linux コマンド rsyncを使用して 2 つのフォルダーを同期する方法

今回、Linux コマンド 「RSYNC」を使って下記2つのフォルダの同期する方法をご紹介いたします。 前提として、 「/home/user/A」:ソースフォルダ(通常の作業フォルダ) 「/home/user/B」:バックアップフォルダ の 2 つのフォルダーがあります。 フォルダー A は通常のファイルとフォルダーが保存される場所で、通常の作業フォルダとして使っています。フォルダー B はフォルダー A の完全なバックアップフォルダとして同期(完コピ)機能するバックアップ フォルダーです。(フォルダー B にはユーザーが直接保存したり変更したりするものはありません)。 今回の同期方法を紹介する背景は、下記のようなたくさんの質問を受けています。 質問: フォルダーBにのみ存在するファイルを一覧表示するにはどうすればよいですか? (例: 前回の同期以降にフォルダー A から削除されたもの。) フォルダーBにのみ存在するファイルをフォルダーAにコピーするにはどうすればよいですか? 両方のフォルダーに存在するが、タイムスタンプやサイズが異なるファイルを一覧表示するにはどうすればよいですか? (前回の同期以降にフォルダー A で変更されたもの。数万個のファイルがあり、プロセスが遅くなりすぎるため、チェックサムの使用は避けたいと考えています。) フォルダー A の正確なコピーをフォルダー B に作成するにはどうすればよいですか? つまり、フォルダー A のすべてをフォルダー A にのみ存在するフォルダー B にコピーし、フォルダー B にのみ存在するフォルダー B のすべてを削除しますが、両方のフォルダーにある同じファイルには触れません。 といったところです。 《解決方法》 フォルダー A とフォルダー B の内容を同じにしたい場合は、ソースとして /home/user/A/ (スラッシュ付き) を入力します。 これは、フォルダー A自体 ではなく、フォルダー A配下すべてのコンテンツをフォルダー B に入れます。 # rsync -avu –delete “/home/user/A/” “/home/user/B” -a すべてのファイルシステム属性を維持して同期を実行します。 -v 同期進捗を確認します。 -u 変更時刻が新しいファイルのみをコピーします (時刻が等しい場合はサイズが異なります)。 –delete ソースに存在しないターゲット フォルダー内のファイルを削除します。 フォルダー A自体をフォルダー B に入れて同期したい場合下記コマンドを使います。 ※Aの後に”/”(スラッシュ)を付かない。 # rsync -avu –delete “/home/user/A” “/home/user/B”

つづきを読む

LS-WVL/R1シリーズ 「ssh login」方法

<前提準備> 1.ダウンロード Tool → [acp_commander.jar] 2.Java実行可能な環境を準備 3.NASのIP = 192.168.0.254(例) <手順> # java -jar acp_commander.jar -t 192.168.0.254 -ip 192.168.0.254 -pw “password” -s there seems to be no existing prefs, write default values ACP_commander out of the nas-central.org (linkstationwiki.net) project. Used to send ACP-commands to Buffalo linkstation(R) LS-PRO. WARNING: This is experimental software that might brick your linkstation! Using random connID value = xxxxxxxxxxx Using target: 192.168.0.254/192.168.0.254 Starting authentication procedure… Sending Discover packet… Found: LS-WVL0D9 (192.168.0.254/192.168.0.254) (省略) NASにLogin成功した後、下記のようにコマンドプロンプトが表示される。 これで、思いぞんぶんNAS内のコマンド操作が可能になる。 Key=XXXXXXXX Trying to authenticate EnOneCmd… ACP_STATE_OK Trying to authenticate with admin password… ACP_STATE_OK Enter telnet commands to LS, enter ‘exit’ to leave /root> <ーー [コマンドプロンプト]

つづきを読む