3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SFTPサーバのディレクトリとローカル(Windows環境)のフォルダを同期させるメモ

Last updated at Posted at 2019-05-25

環境

サーバ側

grep "PRETTY_NAME" /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"

クライアント側

  • OS
ver

Microsoft Windows [Version 10.0.17763.503]
  • WinSCP

5.9.47333

目的

SFTPサーバのディレクトリとローカル(Windows環境)のフォルダを同期させたい

前提条件

sftpクライアントは「WinSCP」

手順

  1. Raspbianに接続したUSBをSFTPでアクセスできるように設定
  2. WinSCPのマクロスクリプトを作成する
  3. バッチファイルを作成する

Raspbianに接続したUSBをSFTPでアクセスできるように設定

Raspbianに接続したUSBをSFTPでアクセスできるように設定

WinSCPのマクロスクリプトを作成する

対象サーバの指紋を確認する

SFTPはSSHで接続するため、対象サーバの指紋を確認します。

$ ssh-keygen -E md5 -lf /etc/ssh/ssh_host_rsa_key.pub
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX

後ほど使用するので、どこかにメモしておきます。

WinSCPのスクリプトを作成する

リモートからローカルへの完全同期で作成します。

公式サイトを参考に作成します。詳細な内容は公式サイトを確認してください。(投げやり)

コマンドリファレンス

以下のようにしました。

remote2local.txt
option batch on
open sftp://<対象サーバのアドレス> -hostkey="ssh-rsa 2048 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX" -privatekey="<対象ユーザの秘密鍵のパス>"
cd "/test/"
lcd "D:\test"
synchronize local -delete -criteria=time
exit

※ 秘密鍵はputtygenで作成もしくは変換した秘密鍵でないと接続に失敗する可能性があります。
  PuTTYgenで公開鍵/秘密鍵を作成する

各処理を1行ずつ説明します。

  1. 実行モードをバッチモードとする。
  2. 接続先のホストを指定する。
  3. リモート側のカレントディレクトリを移動する。
  4. ホスト側のカレントディレクトリを移動する。
  5. ローカルのディレクトリの同期を行う。比較基準はファイルの更新日とする。

※ ホスト側のディレクトリの指定を誤ると大変なことになります。十分に気をつけてください。

バッチファイルを作成する

WinSCP.comに引数でスクリプトのパスを渡すことで、記入したスクリプトを実行させることができます。
コマンドの引数は公式サイトを参考にします。

コマンドラインオプション

remote2local.bat

<WinSCPのインストールフォルダ>\WinSCP.com /command /script="<作成したスクリプトのパス>"

バッチを作成できたら、実行するだけでリモートのディレクトリをローカルに同期することができます。

おまけ。

ローカルからリモートへの完全同期を行うスクリプトの作成をします。

local2remote.txt
option batch on
open sftp://<対象サーバのアドレス> -hostkey="ssh-rsa 2048 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX" -privatekey="<対象ユーザの秘密鍵のパス>"
cd "/test/"
lcd "D:\test"
synchronize remote -delete -criteria=time
exit

「local」を「remote」に変更するだけでOKですね。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?