sitecopy で mirroring ダウンロード
問題なくできることを確認。ただし一発では不可。
sitecopy -f サイト名
sitecopy -s サイト名
の二段構えの必要アリ。これは sitecopy の動作が
- 手元にあるファイルリストのリストを元にサーバ上のファイルとの比較を行なう
ためで、
- ファイルリストがローカルとリモートで食い違っていると -s オプションは十分に機能することができない
したがってまず
- -f オプションでリモートのファイルリストを取得しておく
のがカギ。
なお、この方法でちゃんとローカルのファイルは削除される。
いい感じ。これで Wiki や tDiary などサーバ上で直接更新するコンテンツの保全を行なうことができる。sitecopy が sftp に対応したらかなり最強な気がしてきた。(いつもこう思うきっかけがけっこう簡単だよな。)
※ もし local の準備が何もできていなくて、remote の階層が深い場合は何回も fetch する必要がある。少なくとも v0.16.6 ではそのような動きをする。これは LIST 取得したのち、local のディレクトリ作成の前にファイルの転送を試みて失敗するため。失敗後確認するとディレクトリの作成は行われているので、「何回か実行していると同期が終わる」という、少し残念な挙動をする。
More
Recent Posts
- » Bundler環境でIRBでもLSPでもドキュメントを利用する方法
- » Ruby 3.2と3.3のirb historyの扱いの違いと対処方法
- » Result型とRailway Oriented Programmingをめぐる旅
- » dry-operationのススメとエラー情報をViewまで持っていく方法の模索
- » aligach.netのRubyとViteをバージョンアップした
- » ViteRuby 3.7.0は起動方法のデフォルトがnpx経由になった
- » GmailからSpreadsheetとGoogle Driveへ書き出すGASライブラリを作った
- » 面倒くさがり屋のためのTypeScript環境
- » JavaScriptにも論理和代入なんてあったんだ
- » TypeScriptでpropertyを舐める処理が面倒くさい