静的生成サイトの上書き防止ガード

あなたのサイトが定期タスクによって再生成されたもの(クローラーによるデータ取得 → HTML 生成 → サイトディレクトリへのコピー)の場合、以下の鉄則があります:生成されたHTMLを直接編集してはいけません。。 rentgpu.link でこの問題に直面しました:手動で編集した 876 ページが、定期タスクによって一度にすべて上書きされ、数時間の作業が無駄になりました。このツールは、出力ファイルが手動で変更されていないかを監視するガードスクリプトを生成し、作業を失わない安全な変更フローを提供します。

無料・ ログイン不要 ローカル生成・ コンテンツはアップロードされません 対応事故・ 876ページがcronによって上書きされました。

1ディレクトリとコマンド

記憶する唯一正しい変更手順

出力 1ガードスクリプト guard.sh

0 行
—
/usr/local/bin/guard.sh を実行し、まず1度実行してください guard.sh snapshot でベースラインを構築し、その後 guard.sh check cron へ。

出力 2crontab 設定

0 行
—

セルフチェックあなたの生成サイトは安全ですか?

この罠は私たちが既に踏んでいます

1・876ページが一度に上書きされます。rentgpu.link では、生成された876個のHTMLを直接編集しました。その日の18:07に実行された定期タスクにより、すべて上書きされました——なぜなら成果物はデータソースではなく、ジェネレーターテンプレートがデータソースです。。正しい方法は、を変更することです scripts/build_site.py テンプレートを編集した後、手動で再生成+公開を実行します。

2・多言語の成果物は、すべて同時に変更する必要があります。同一サイトには /en /ja /ko /tw 4 セットの生成物(合計 766 ページ)です。中国語版のみ変更した場合、他の言語版は不一致になります。

3・「変更したのに反映されない」と思っていたが、実際には上書きされていた。トラブルシューティングの際はまず grep 生成物ディレクトリに内容が存在するか確認し、その後 cron のログを確認すると、1 時間節約できます。

4 · 変更を行う前に、常にパッケージ全体をバックアップしてください。我々は静的サイトを毎回自動生成する際、まず tar czf /root/backups/xxx-$(date +%s).tar.gz <ディレクトリ>ロールバックはわずか 30 秒で完了します。