winscpで自動同期するまでの手順

winscpバージョン:5.5.4

windwosでの開発について

windows上でソース編集してそれをサーバーにアップして動作確認する開発スタイルの場合、編集する度に手動でアップするのは効率が悪すぎるので、自動更新したい場合、以下の2つの方法がある。

1. winscp上で直接ファイルを開いて編集する方法
2. ローカルで編集してwinscpミラーリングを使って、ローカルとサーバーで同期を取る方法

※1の方法だと、複数人開発する場合に、誰がどのファイルを修正したかの把握が難しくなる。2の方法であれば、ローカルのファイルをsvn等で管理することで誰がどのファイルを修正したか確実に把握できる。

winscpミラーリング手順

ミラーリングの場合、以下の様な手順となる。

1. メニューから同期を選んでリモートとローカルで現状の差分が無いことを確認する。(更新日時&ファイルサイズ両方を確認する)

※上記は、自分のあずかり知らない修正を勝手に上書きしてしまわないように、最初に差分がないことを念のため確認しておくために行う。

2. メニューからミラーリングアップロードを選んで、ローカルディレクトリとリモートディレクトリが同じディレクトリであることを確認したうえで、同期を開始する。(監視したいディレクトリが複数ある場合や同期したくないディレクトリを含む場合は、winscp複数立ち上げて、同様にミラーリングを行う)

winscpミラーリングの検証

1. ローカルでファイルを修正&保存
→修正したファイルがアップロードされる

2. ローカルでファイルを追加
→「新しいテキストドキュメント.txt」がいったん作成されて、リネーム後に削除されてリネームしたファイルがアップされる(要は普通に追加したファイルアップロードされる。「ファイルの削除」のチェックがないと「新しいテキストドキュメント.txt」が残ったままとなる。)

3. サーバーでファイルを修正&保存
→ローカルのファイルには影響しない

4. 3で修正したファイルをローカルで修正&保存
→修正したファイルがアップロードされる(3の修正内容は当然上書きされる)

5. ローカルでファイルを削除
→サーバーも同じファイルが削除される(ただし「ファイルの削除」にチェックがある場合のみ。以下同様。)

6. サーバーでファイルを追加
→ローカルには影響しない

7. 6を行った上で、別ファイルをローカルで修正&保存
→修正したファイルがアップロードされるのと同時に6で作成したファイルがサーバーから削除される

8. サーバーでファイル修正&保存した上で、ローカルで別ファイルを修正&保存
→サーバーで修正したファイルは変更されず、ローカルで編集したファイルのみアップロードされる(サーバーにのみ存在するファイルは削除する(7参照)のに、ファイル内容の差分については同期がされないらしい)

9. ローカルにのみ存在するファイルがある状態で、ローカルで別ファイルを修正&保存
→修正した別ファイルのみアップロードされ、ローカルにのみ存在するファイルはアップロードされない

以下検証結果まとめ

・「起動時に同期」にチェックを入れずに開始した場合、開始時は、差分があろうと何も起きない
・「起動時に同期」にチェックを入れて開始した場合、開始時に、削除・追加の同期が行われる。(ただしファイル内容の差分については同期されないぽい)
・ローカルのファイルを更新・追加・削除した時点でサーバーと同期される。ただし対象ファイル以外のファイルについては、削除のみ実行(削除にチェックがついている場合のみ)され、更新・追加については実行されない。(サーバーにのみ存在するファイルが全て削除される)
→要は影響反映が修正したファイルだけではない、ということになる。

・「ファイルの削除」にはチェックを入れないほうが安全かも。ファイルを追加する時は、ローカルで追加すると2のような問題が起きるため、サーバーから追加してローカルに落とすようなことをする必要がある。
・「起動時に同期」にチェックを入れると、ローカルにのみ存在するファイルをサーバーに追加する。状況に応じてチェックする。

その他
・アップロードしたくないファイルは『転送設定』画面にある『ファイルマスク』のテキストボックスに記述しておくとよい。
・この同期はタイムスタンプのみで同期をしているので更新日時だけが更新される作業でもアップロードが発生する。

最近FXが好調。メインはSBIFXトレードです。
低予算(1000通貨)で比較 | FX比較 低予算から始めるFXランキング 初心者の外為入門