私はopenmediavault(OMVはopenmediavault.orgのNASソフトウェア)を使用しており、他の共有が定義されています。共有の1つには、次のフォルダ構造があります。 (例)
Subfolder"ABC"/Subsubfolder"SWU"/*.*Files
Subfolder"ABC"/Subsubfolder"SXY"/*.*Files
Subfolder"ABC"/Subsubfolder"ZWE"/*.*Files
Subfolder"BCD"/Subsubfolder"SWU"/*.*Files
Subfolder"CDE"/Subsubfolder"ABC"/*.*Files
Subfolder"TXY"/Subsubfolder"SWU"/*.*Files
OMV内でrsyncを介して2つの異なる共有に分割したいのですが、include / excludeを使用する際に問題があります。 rsyncの可用性は制限されていますが、OMV-Rsync GUIにはinclude / excludeステートメントを入力できる追加のオプションフィールドがあります。
サブフォルダに分割したいです。サブフォルダがある部分として「0」から「Sj」で始まり、もう一方の部分が「Sk」から「Z」で始まります。
私はすでに試しました。
--exclude={/S[k-z]*/,/[T-z]*/}
しかし、これは期待どおりに機能しませんでした。テスト実行では、たとえば、Zur/S056776/ フォルダのファイルも同期されていることが示されます。
ベストアンサー1
編集された質問と一致するように回答が編集されました。
次の除外パターンを試すことができます。ディレクトリをパブリックフォルダの上に変更し、folder
実際のパブリックフォルダ名と一致するようにパターンを変更します。
--exclude={/folder/S[k-z]*/,/folder/[T-z]*/}
試したパターンがなぜ機能しないのかわかりません(ただし、機能しないディレクトリを正確に表示すると、問題を見つけるのに役立ちます)。
--exclude={/S[k-z]*/,/[T-z]*/}
編集2,3 - Linux OSを実行しているNASサーバー
NASサーバーはLinuxオペレーティングシステムを実行します。 openmediavault、OMVをダウンロードしてテストしました。ssh
サーバーを実行しており、rsync
コンピュータとサーバー間でファイルを転送し、サーバーにTelnetを転送し、ssh
サーバー内で実行するために実行できます。rsync
- ログイン情報を変更していない場合
Webインターフェース
User: admin Password: openmediavault
クライアント(SSH、コンソール)
User: root Password: <The password that you have set during installation>
ターミナルウィンドウを開き、以下を介して接続します。
ssh
ssh root@ip-address-to-your-server # example: ssh [email protected] # if local
鍵認証を使用して
rsync
サーバーにログインまたは実行します。サーバーでコマンドを実行する
cd 'path-to-directory-above-folder' mkdir target1 # only once, or use a target above your current directory mkdir target2 # -"- rsync -Havn --exclude={/target*/,/folder/S[k-z]*/,/folder/[T-z]*/} * target1 rsync -Havn --exclude={/target*/,/folder/[0-R]*/,/folder/S[0-j]*/} * target2
別のコマンドを実行して、すべてが問題ないことを確認できます。
for i in $(find folder);do test -e "${i/folder/target1\/folder}" || test -e "${i/folder/target2\/folder}" || echo "$i not copied";done
完了したら、サーバーからログアウトします(私の場合はユーザー
myself
とからroot
)。exit
元の答え
よく分からないけど考える次のコマンドラインは必要なものを生成します。
テストディレクトリには、テスト用に複数のサブディレクトリとファイルに、、、、およびサブtarget1
ディレクトリを作成しました。target2
folder
folder
rsync -Havn --exclude={/target*/,/folder/S[k-z]*/,/folder/[T-z]*/} * target1
rsync -Havn --exclude={/target*/,/folder/[0-R]*/,/folder/S[0-j]*/} * target2
- まず
-n
、「模擬実行」オプション(ここに示すように)を使用して実行して、実行する操作を確認します。 - 次に、(おそらく修正後)必要な操作を実行したら、ディレクトリ構造を削除して
-n
ターゲットディレクトリにコピーします。rsync
次のディレクトリツリーを使用してテストしました。
$ find |sort
.
./folder
./folder/ABC
./folder/ABC/SWU
./folder/ABC/SWU/file
./folder/ABC/SXY
./folder/ABC/SXY/file
./folder/ABC/ZWE
./folder/ABC/ZWE/file
./folder/AIB
./folder/AIB/Sja
./folder/AIB/Sja/file
./folder/AIB/Skb
./folder/AIB/Skb/file
./folder/AIB/SWU
./folder/AIB/SWU/file
./folder/BCD
./folder/BCD/SWU
./folder/BCD/SWU/file
./folder/CDE
./folder/CDE/SWU
./folder/CDE/SWU/file
./folder/Sja
./folder/Sja/Skb
./folder/Sja/Skb/file
./folder/Sja/SWU
./folder/Sja/SWU/file
./folder/Skb
./folder/Skb/Sja
./folder/Skb/Sja/file
./folder/Skb/SWU
./folder/Skb/SWU/file
./folder/TXX
./folder/TXX/Sja
./folder/TXX/Sja/file
./folder/TXX/Sjb
./folder/TXX/Sjb/file
./folder/TXX/Skb
./folder/TXX/Skb/file
./folder/TXY
./folder/TXY/SWU
./folder/TXY/SWU/file
./folder/Zab
./folder/Zab/ABC
./folder/Zab/ABC/file
./folder/zBC
./folder/zBC/ABC
./folder/zBC/ABC/file
./folder/zBC/ABC/target
./folder/zBC/target
./target1
./target2
次の「テストの実行」を実行します。
$ rsync -Havn --exclude={/target*/,/folder/S[k-z]*/,/folder/[T-z]*/} * target1
sending incremental file list
folder/
folder/ABC/
folder/ABC/SWU/
folder/ABC/SWU/file
folder/ABC/SXY/
folder/ABC/SXY/file
folder/ABC/ZWE/
folder/ABC/ZWE/file
folder/AIB/
folder/AIB/SWU/
folder/AIB/SWU/file
folder/AIB/Sja/
folder/AIB/Sja/file
folder/AIB/Skb/
folder/AIB/Skb/file
folder/BCD/
folder/BCD/SWU/
folder/BCD/SWU/file
folder/CDE/
folder/CDE/SWU/
folder/CDE/SWU/file
folder/Sja/
folder/Sja/SWU/
folder/Sja/SWU/file
folder/Sja/Skb/
folder/Sja/Skb/file
sent 742 bytes received 106 bytes 1,696.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)
そして
$ rsync -Havn --exclude={/target*/,/folder/[0-R]*/,/folder/S[0-j]*/} * target2
sending incremental file list
folder/
folder/Skb/
folder/Skb/SWU/
folder/Skb/SWU/file
folder/Skb/Sja/
folder/Skb/Sja/file
folder/TXX/
folder/TXX/Sja/
folder/TXX/Sja/file
folder/TXX/Sjb/
folder/TXX/Sjb/file
folder/TXX/Skb/
folder/TXX/Skb/file
folder/TXY/
folder/TXY/SWU/
folder/TXY/SWU/file
folder/Zab/
folder/Zab/ABC/
folder/Zab/ABC/file
folder/zBC/
folder/zBC/ABC/
folder/zBC/ABC/file
folder/zBC/ABC/target/
folder/zBC/target/
sent 713 bytes received 100 bytes 1,626.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)