下記記事でWinSCPでのファイル暗号化を紹介しました。
本記事では、WinSCPを使ってrsyncのようにファイルの更新分だけをリモートへ反映させ、さらにファイル暗号化を行うバッチファイルを説明します。
まず、上の記事に従って 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
コメント