Hugo の更新ファイルを lftp でアップロードする方法を書いた。
[Mac] Hugo の更新を lftp で行う|荒川仁志
https://note.com/hitoshiarakawa/n/n42711dddf6fa
[Mac] Hugo の更新を lftp で行う2|荒川仁志
https://note.com/hitoshiarakawa/n/n3d0f5d889cf3
lftp アップロード完了通知|荒川仁志
https://note.com/hitoshiarakawa/n/ne51797586564
lftp で Fatal error: Certificate verification|荒川仁志
https://note.com/hitoshiarakawa/n/na6940a894a7e
しかし記事数が何千もあるブログの場合、Hugo のファイルは数万にもおよぶ。毎日更新しているブログだと lftp のアップロードに何十分もかかる。
ふと lftp で差分だけをアップロードできないかとひらめいた。調べてみると lftp には --newer-than
というオプションが用意されているようだ。
lftp:差分バックアップできるかな?(mirror編) | とびうさな日々
http://www.tobiusa.jp/it/dev/2021/957/
すなわち毎日更新するブログの場合、--newer-than now-2days
というオプションを付ければ(余裕を持たせて 1day
ではなく 2days
にしている)、そのぶんだけをアップロードできる。アップロード時間を大幅に減らせるはずだ。
しかし実際に実装しようとして気付いた。Hugo はアップロードファイルを public
ディレクトリーに書き出す際、その前に一旦ディレクトリー内のファイルをすべて削除することが推奨されている。そうしないと不要なファイルが含まれていたりして、アップロードしたサイトに不具合が生じる可能性がある。ということは・・・毎回全ファイルを生成し直すのだから2日以内に作成されたファイルのみをアップロードするように設定しても、結局全ファイルアップロードされてしまう・・・。
まあ lftp にそういうオプションがあると勉強できただけでも良しとしよう。
Amazon.co.jp: Webを支える技術 ―― HTTP,URI,HTML,そしてREST WEB+DB PRESS plus eBook : 山本 陽平: 本
https://amzn.to/41R6OoP