フィードが格納されたディレクトリの同期(DMZ シナリオ)
2024年4月11日
ID 268321
ローカルホストと DMZ ホストの両方のフィードを同期するには、RSync ユーティリティを使用します。Windows を実行するコンピューター上で Cygwin を使用して、RSync ユーティリティを実行できます。
以下の Linux コマンドはすべて Cygwin を使用して Windows コンピューター上で実行されます。
RSync ユーティリティを Windows コンピューターにインストールするには:
- Cygwin ディストリビューションから既定のパッケージのセットをインストールします。
- OpenSSH ユーティリティ、OpenSSL ユーティリティ、RSync ユーティリティをインストールします。
- DMZ ホスト上で OpenSSH コンポーネントを次のように構成します:
- 次のコマンドを root として実行します:
ssh-host-config
毎回[
Yes
]を選択します。重要なポイントは、sshd デーモンをサービスとして実行することです。 - 次のコマンドを実行します:
net start sygsshd
- 次のコマンドを root として実行します:
sshd デーモンが自動的に起動します。
ローカルホストで同期を設定するには:
- 秘密鍵、および対応する公開鍵を作成します。
それには、ローカルホスト上で次のコマンドを実行します:
ssh-keygen -t rsa -q -N '' -f /home/<user>/.ssh/dmz_rsa_key
<user>
の代わりにユーザーログインを指定します。キーはパスワードなしで作成されます。 - 次のコマンドを実行して、公開鍵をローカルホストから DMZ ホストにコピーします:
ssh-copy-id -i /home/<user>/.ssh/dmz_rsa_key <DMZ_user>@<DMZ_host>
このコマンドを実行すると、
<DMZ_user>@<DMZ_host>
へのパスワードを要求されます。 - ローカルホスト上で次のコマンドを実行して、フィードが格納されたディレクトリの内容の同期をテストします:
rsync -a --delete-before --delay-updates -e "ssh -i /home/<user>/.ssh/dmz_rsa_key" <DMZ_user>@<DMZ_host>:/<Path_to_feeds>/ /<Path_to_feeds_on_Local>/
このコマンドの
<Path_to_feeds_on_Local>
はローカルホスト上の、フィードが格納されたフォルダーへのパス(つまり、%service_dir%/feeds
)で、<Path_to_feeds>
は DMZ ホスト上の、更新済みフィードが格納されたフォルダーへのパスです。同期テストに合格するには、ローカルコンピューター上のフォルダー
<Path_to_feeds_on_Local>
の内容が、DMZ ホスト上のフォルダー<Path_to_feeds>
の内容と同じである必要があります。
Cygwin を使用して Rsync をテストすると、パス内のスペース文字に関する問題が発生する可能性があります。そのため、以下を実行することを推奨します:
- DMZ ホストのディレクトリのパスを引用符で囲んでスペース文字をエスケープ処理します("\ ")。
- ローカルホストのディレクトリのパスのスペース文字をエスケープ処理します("\ ")。
Cygwin を使用して C:\ ドライブのディレクトリに到達するには、パス /cygdrive/c/
を指定し、その後通常のパス(/cygdrive/c/Users/...)を指定します。