WinSCPをバッチファイルでrsyncのように使う&ファイル暗号化

ALL
スポンサーリンク

下記記事でWinSCPでのファイル暗号化を紹介しました。
本記事では、WinSCPを使ってrsyncのようにファイルの更新分だけをリモートへ反映させ、さらにファイル暗号化を行うバッチファイルを説明します。

WinSCPでファイル暗号化 | パソコン鳥のブログ

まず、上の記事に従って WinSCP の設定を行います。
公開鍵認証によって接続させる場合は、下記記事の設定も行います。

公開鍵認証による接続方法(WinSCPの場合) | パソコン鳥のブログ

以上の設定をしたら、WinSCPでリモートホストに接続後、WinSCPのセッションメニュー - セッション URL/コードの生成 を選択します。
現れたダイアログ画面のスクリプトタブで[バッチファイル]を選択し、表示された内容をバッチファイルとして保存します。

作成したバッチファイルで、/log= の行を削除するか、ログファイルのパスを指定います。

続けて “ここにコマンド 1″、”ここにコマンド 2” となっている箇所を次のようにします。
行の末尾の ^ を忘れずに書いてください。

"synchronize remote -delete ローカルディレクトリ リモートディレクトリ" ^

ローカルディレクトリ、リモートディレクトリにコピー元、コピー先を指定します。パスに ” が含まれる場合は、”” と2つ書いてください。

これで、バッチファイルを実行すると、rsyncのように同期をとり、またファイルは暗号化されています。

また、”ここにコマンド 1″、”ここにコマンド 2″ となっている箇所を次のようにすると、ローカルディレクトリの変更を監視し、変更があると都度リモートディレクトリへ反映します。
keepuptodate 実行前にローカルディレクトリとリモートディレクトリに差分があった場合は、その後の変更時にまとめて反映されます。

"keepuptodate -delete ローカルディレクトリ リモートディレクトリ" ^

参考

Generate Session URL/Code/Transfer Code Dialog :: WinSCP
synchronize command :: WinSCP
WinSCPスクリプト入門:コマンドやバッチファイルとの連携による自動処理 | OSDN Magazine
WinSCPをコマンドで操作する方法 | 4thsight.xyz
WinSCPでPCとサーバーの同期とミラーリングアップロードの使い方 | 9ineBB

コメント