sitecopy で mirroring ダウンロード
問題なくできることを確認。ただし一発では不可。
sitecopy -f サイト名
sitecopy -s サイト名
の二段構えの必要アリ。これは sitecopy の動作が
- 手元にあるファイルリストのリストを元にサーバ上のファイルとの比較を行なう
ためで、
- ファイルリストがローカルとリモートで食い違っていると -s オプションは十分に機能することができない
したがってまず
- -f オプションでリモートのファイルリストを取得しておく
のがカギ。
なお、この方法でちゃんとローカルのファイルは削除される。
いい感じ。これで Wiki や tDiary などサーバ上で直接更新するコンテンツの保全を行なうことができる。sitecopy が sftp に対応したらかなり最強な気がしてきた。(いつもこう思うきっかけがけっこう簡単だよな。)
※ もし local の準備が何もできていなくて、remote の階層が深い場合は何回も fetch する必要がある。少なくとも v0.16.6 ではそのような動きをする。これは LIST 取得したのち、local のディレクトリ作成の前にファイルの転送を試みて失敗するため。失敗後確認するとディレクトリの作成は行われているので、「何回か実行していると同期が終わる」という、少し残念な挙動をする。