SFTP をローカルに同期するアプリケーションを探しています

SFTP をローカルに同期するアプリケーションを探しています

Windows/Azure

外部の SFTP サイトとローカル ストレージ間の双方向同期を動的に実行するアプリケーション (またはその他のソリューション) を探しています。

具体的には、(サーバー指向で考えると)インポートフォルダとエクスポートフォルダがあります。

したがって、エクスポート フォルダー内のファイルにサーバー側で変更 (新規作成/削除を含む) があった場合、クライアント側でそれが反映されます (一定の間隔で)。

同様に、インポート フォルダー内のファイルにクライアント側で変更があった場合、サーバー側でそれが反映されます。

このアプリはクライアントとサーバーの両方に存在する必要があると思います。おそらく、これは特殊なタイプの SFTP サーバーです。

具体的な使用例は、毎日アーカイブされるタイムスタンプ名のファイル(タイムスタンプ名のアーカイブ サブフォルダーにコピーされ、その後プライマリ フォルダーから削除される)です。

Azure などのクラウド ソリューションに特に興味があります。

従来の DC SFTP サーバーがまだ多く存在し、プロバイダーがあまり柔軟性を提供していないことがわかりました (たとえば、特定の SFTP 製品を使用していて変更しないなど)。したがって、最も最適なのは、既存のレガシー SFTP サーバーと共存するアプリ/ソリューションです。

答え1

Ftp Voyager はこれを実行します。(Windows を想定していますが、おっしゃっていません) https://thwack.solarwinds.com/resources/b/geek-speak/posts/ftp-voyager-debuts-as-solarwinds-free-tool

これはサービスとしてインストールされ、サイトへの接続プロファイルを作成し、一定の時間/間隔でデータを取得するようにスケジュールするスケジューラを備えています。

FTP コマンドに精通していれば、SFTP ネイティブ クライアントや PSFTP (putty プロジェクトの一部) のスクリプトも、構文が非常に似ているため、難しくありません。https://www.puttygen.com/psftp

具体的には、スイッチ-Bを使用すると、基本的にターミナルで実行したのと同じようにコマンドのスクリプトを処理し、それをタスクスケジューラのタスクにすることができます。

-B – It specifies a file with batch commands. The ‘-b’ command helps user automate tasks by allowing them to set commands in advance.

どちらの場合でも、このように SFTP を同期すると、サーバー側で自動化していることを意識する必要はなく、何かをインストールする必要もありません。ユーザーがコードを介して行うのと同じことを実行するだけです。 https://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

psftp を使用した例: dlall.txt という名前の単純なテキスト ファイルを作成する

iQ という名前のキュー フォルダーがあり、反対側に out という名前のディレクトリがあると仮定すると、次のスクリプトは...

lcd - ローカルディレクトリを iQ に変更する

cd out - リモート側のoutディレクトリに変更します

mget * - 複数のファイルを取得し、そこにあるものをダウンロードします。

終了 - 終了する

lcd .\iQ
cd out
mget *
quit

そしてそれをPSFTPに渡します。

psftp user@host -P [port number] -b dlall.txt

ここで、認証方法を知っていることを前提としています。どちらもコマンド ラインで資格情報を受け入れるか、公開鍵認証を設定できます。自動化するにはパスワードをプレーン テキストでどこかに保存する必要があるため、パスワードはお勧めしません。FtpVoyager はパスワードを保存しますが、少なくとも暗号化します。ただし、どちらも公開鍵を使用するとより安全に動作します。

また、両側が実際に等しいことを確認したい場合は、「同期」という言葉を使用していることに注意してください。これはより困難であり、おそらくFTPVoyagerに戻ることになります。

https://support.solarwinds.com/SuccessCenter/s/article/How-Can-FTP-Voyager-Automatically-Synchronize-Folders-on-2-Different-Sites?language=en_US

または、サーバーがサポートしている場合は、ssh 経由の rsync を検討してください。

関連情報