CLIで同期目的に使える非対話のSFTPフロントエンド実装は何かいいのがないでしょうか?

実現したいこと

  • SFTPしか使えないユーザーでrsyncのような一括同期をしたい

前提

同期先のサーバ(リモート)に接続可能なユーザはセキュリティ等の都合で、
chroot環境下におかれていて

ForceCommand internal-sftp

が設定されています。

このユーザーを使って特定ディレクトリ配下のファイルを全て
ローカル => リモート 方向へ単方向同期したいです。

ローカル側のOSは Ubuntu Desktop を想定していますが、
なるべく Win や Mac でも使えるマルチプラットフォームだと
ポータビリティ的にうれしいです。

発生している問題・エラーメッセージ

rsyncが使えれば使い勝手がよいですが、chrootの影響で使えません。
sftp は対話型で、差分の検出機能もついていないので、同期目的での使用は難しいため、
CLI での同期の自動化に使えそうないい手段を探しています。

調査したこと・試したこと

  • SFTP コマンドには対話式コマンドの羅列だけなら非対話で処理できるバッチモードがあることは確認
  • 対話式コマンドの実行結果によって次のコマンドを分岐できるようなプログラミングに近い機能はないことを確認
  • よって、差分検出して差分のあるファイルだけアップロードするような芸当はSFTPコマンド単体では難しいことを確認
  • Google検索で SFTP CLI クライアント あたりのキーワードで探してみたが、出てくるのはGUIクライアントかSSHクライアントばかり

よろしくお願いします。

コメントを投稿

0 コメント