設定の実践 · Clash 技術ブログ

Clash Verge Rev再起動後の自動バックアップ修正

Clash Verge Revの再起動後に定期バックアップが動かない場合は、手動バックアップを書き出し、アプリをv2.5.9へ更新します。アプリを起動したまま設定した間隔が過ぎるまで待ち、ZIPとScheduledログで確認してください。WebDAVや重要な変更時のバックアップは、定期処理が成功した証拠になりません。

  • Clash Verge Rev
  • 定期バックアップ
  • ローカルバックアップ
  • 再起動
  • v2.5.9
目次

定期バックアップを有効にして古いZIPも残っているのに、Clash Verge Revを開き直すと、設定した間隔で新しいファイルが作られなくなることがあります。プロキシが使えることや、スイッチが有効のままであることは、バックアップの予定処理が動いている証拠にはなりません。まず、アプリのタイマー、手動バックアップ、ファイル書き込みの失敗を分けて確認します。

有効にしているのに、再起動後にバックアップが増えないのはなぜ?

公式issue #8331の報告者は、Windows 11とClash Verge Rev v2.5.8を使用していました。1時間おきに設定し、完全に終了してから再起動。設定を変えずに端末をスリープさせず、1時間を超えて待っても自動アーカイブが作られず、対応するBackupログも出なかったと報告しています。

その報告では、設定を変更してから再び間隔いっぱい待つと、定期バックアップが作られました。これは症状を見分けるための対照であり、起動のたびに適当な設定を変えることを恒久対策にはできません。調査のために言語、プロキシ、サブスクリプションを何度も変える必要もありません。

この記事の根拠は、このWindowsでの報告、共通のバックアップコード、正式な修正内容です。全プラットフォームや全旧バージョンで影響を実測したわけではありません。v2.5.9には正式に修正が入りましたが、単に間隔が経過していない場合やアプリを終了している場合は、先に通常のタイマー動作の条件を確認してください。

バックアップの種類を分けて判断する

確認できた記録そこから分かることそれだけでは分からないこと
ローカルの手動バックアップが成功した現在、ローカルにアーカイブを作成できる再起動後の定期バックアップ処理が開始したこと
ファイル名に-auto-mergeまたは-auto-scriptが付いているグローバルの上書き設定やスクリプトの変更でバックアップが作られた-auto-scheduledの定期バックアップが正常なこと
WebDAVへのアップロードが成功した今回のサーバーへのアップロードが完了したローカルの定期処理が動いたことや、自動でアップロードされたこと
新しい-auto-scheduled.zipとScheduledの成功ログがある今回の定期処理がローカルファイルを作成した次に完全終了して再起動した後も必ず正常なこと

まず手動でバックアップし、アプリのディレクトリ外へ保存する

次の定期バックアップを待たず、現在の設定を保護してください。「設定 → Verge詳細設定 → バックアップ設定」を開き、「Local backup」(ローカルバックアップ)の「バックアップ」を押します。次に「View history」(履歴)を開き、作成されたZIPをアプリのデータディレクトリ外へ書き出してください。

書き出したファイルが存在して開けることを確認し、profiles.yaml、profiles/、自分の重要な設定内容を調べます。ZIPはアーカイブであり、暗号化とは別です。サブスクリプションのトークン、ノードのパスワード、ローカルの上書き設定が含まれる場合があるため、自分で管理できる保護された保存先に置いてください。

手動バックアップでもエラーが出る場合は、最初のエラーを保存し、現在のデータを別途コピーして、実際のファイル書き込みの問題を調べます。再起動後の定期処理の不具合だと即断せず、試しにアプリのディレクトリを空にしたり、古いZIPを復元したり、アンインストールしたりしないでください。

更新前に残しておくもの

  • 開けることを確認し、アプリのディレクトリ外へ書き出した現在のバックアップ。
  • クライアントのバージョン、バックアップのスイッチ、元の間隔、最後に成功したファイルの時刻。
  • 自分で管理している外部ファイル、サブスクリプションの元のアドレス、必要な設定を、それぞれ安全に保存したもの。
  • 問題発生時のBackupエラーから機密情報を除いたもの。完全なZIPやサブスクリプションの認証情報を公開issueにアップロードしない。

修正はv2.5.9のアプリにある。Mihomoだけの更新では直らない

公式PR #8386によると、旧実装は保存済みのバックアップ設定を送信してから、タイマー処理を購読させていました。受信側がないと、watchチャネルのsendは新しい値を保持しません。後から起動する処理は初期値の「無効」を読み、次の設定変更を待ち続けてしまいます。

修正では、起動時と設定更新時の両方をsend_replaceに変え、後から起動する処理にも保存済みの値が届くようにしました。この修正はマージされ、2026年11月2日公開の正式版v2.5.9に含まれています。issueが閉じたことや開発ブランチの変更だけで、公開済みと判断しているわけではありません。

これはClash Verge Revアプリのバックアップスケジューラーの問題です。Mihomoコアだけの更新、サブスクリプションの再取得、コアの再起動では、アプリの更新を代替できません。すでに修正を含む根拠のある後続の正式版を使っているなら、この記事のためにv2.5.9へ戻す必要はありません。

定期バックアップは、アプリ内のタイマー処理がローカルファイルを作成します。OS上で独立して常駐するバックアップサービスでも、毎日の決まった時刻に動くカレンダー式の処理でもありません。アプリを完全終了している間の作成や、開き直した後の取りこぼし分の補完を期待しないでください。

公式リリースから更新し、現在の設定を残す

この記事で確認した正式な修正版はClash Verge Rev v2.5.9です。更新には、本文の参考資料にある公式v2.5.9 ReleaseからOSとチップのアーキテクチャに合うものを選んでください。今回の保守では当サイトの配布パッケージを更新していません。旧v2.5.8のミラーを修正版として扱わないでください。

元のインストール方式に合わせてアプリを更新する

  1. 外部コピーを保存してから公式版の更新を準備する

    前節で書き出したZIP、現在のデータ、外部ファイルを残します。プロジェクトがサポートする正式な更新方法を使い、元のインストール先を維持してください。ポータブル版のディレクトリ、開発版、出所不明のパッケージを混ぜないでください。

  2. 接続を中断できる時間に、正常終了してインストールする

    作業を保存し、クライアントがサポートする方法でシステムプロキシやTUNを停止してから、トレイでアプリを完全終了し、OSの通常の手順で更新します。ウィンドウを閉じるだけで済ませたり、内部のコアを手動で差し替えたり、アプリデータを削除したりしないでください。

  3. 開き直した後にアプリのバージョンと元の設定を確認する

    設定で完全なアプリのバージョンを確認し、v2.5.9または修正を含む根拠のある後続の正式版が動いていることを確かめます。Profile、上書き設定、元のプロキシモードを調べ、必要な接続を復元してください。インストール画面が消えただけで完了と判断しないでください。

公式パッケージを取得できない場合やインストールでエラーが出る場合は、現在使える環境とエラーを残し、まず取得・インストールの問題を解決します。署名確認やセキュリティ保護を無効にせず、サイトの古いパッケージがダウンロードできることを今回の更新成功と取り違えないでください。

再起動後に間隔いっぱい待ち、ZIPとログを調べる

「バックアップ設定 → Automatic backup」(自動バックアップ)で、「Enable scheduled backup」(定期バックアップの有効化)と「Backup frequency」(バックアップの間隔)を確認します。固定v2.5.9コードの初期値は24時間で、1–168時間に設定できます。観察用に一時的に1時間を選ぶ場合は元の値を記録し、反映後に完全終了して一度開き直してください。

今回開き直した時点から計測し、アプリを起動したまま端末をスリープさせずに保ちます。その間は設定変更や再起動をせず、グローバルの上書き設定やスクリプトを編集して別のバックアップを発生させることも避けます。設定した間隔を超えて待ってください。起動直後にファイルができないことだけでは、失敗と判断できません。

アプリの再起動や設定の通知があると、改めて間隔いっぱい待つことになります。頻繁に設定を保存すると、観察できる時刻が後ろへ延び続ける場合があります。スイッチが有効なのに、長時間設定を変えなくても実行されない症状とは分けて判断してください。

時間が経過したら「Local backup → View history」(ローカルバックアップの履歴)で新しいファイルを確認し、ログのAuto backup created (Scheduled)と照合します。定期アーカイブのファイル名には-auto-scheduled.zipが付きます。-auto-merge、-auto-script、手動ファイルだけでは、今回の検証は完了していません。

再起動後も定期処理が復旧したことを確かめる

  • 実行中のアプリに#8386の修正が含まれ、定期バックアップが有効で、間隔を記録している。
  • 完全終了して開き直した後に設定を変えず、設定した間隔を超えて連続稼働させている。
  • 時刻が対応する新しい-auto-scheduled.zipとScheduledの成功ログがあり、アーカイブが開けて内容も現在の設定と一致する。
  • 次に通常の再起動をした後も、同じ条件で再確認する。一度の成功を、再起動後の検証の代わりにしない。
  • 一時的な間隔を元の値または必要な値に戻し、外部コピーを残す。保存後は、次の待機時間が初めから始まる。

固定コードが保持するのは、-auto-付きの自動アーカイブを合計で新しい順に20件です。定期処理、グローバルの上書き設定、スクリプトの変更で作られるファイルがこの枠を共有し、それぞれ20件ではありません。ローカルのディレクトリは永久保存の履歴庫ではないので、動作確認済みのバックアップは別途書き出してください。

当サイトでは、実際のClash Verge Revクライアントで一時間待ったり、復元実験を行ったりしていません。ここで示すのは、公式のユーザー報告と固定ソースに基づく確認手順です。当サイトのページ、翻訳、ビルドのチェックが通っても、お使いの端末で定期バックアップを検証したことにはなりません。

動かない場合は、まず手動バックアップを作れるか確認する

手動バックアップも失敗する

最初の書き込みエラーと現在のデータのコピーを残し、エラーが示すパス、権限、空き容量を調べます。定期バックアップのスイッチを切り替え続けて、実際の書き込み障害を見えなくしないでください。

手動では成功するが、定期処理の新しいファイルがない

アプリのバージョン、スイッチ、最後の起動や設定保存の時刻、間隔いっぱい連続稼働したかを確認します。該当するログを残し、「有効にしても動かない」だけで済ませないでください。

WebDAVのアップロードだけが失敗する

サーバーのアドレス、認証、アップロードエラーを別途調べます。ローカルにScheduledのアーカイブができていれば、そのアップロード失敗を理由に今回の修正が無効とは判断できません。

更新後にアプリや元の設定が使えない

変更を止め、現在の状態と最初のエラーを別に保存します。そのうえで、プロジェクトがサポートする方法に従い、更新前に安全に使えていたプログラムと、それに合う外部コピーで復旧します。

定期処理だけが失敗しているなら、手動でバックアップを作って書き出し続け、予定処理を試すために復元で現在の設定を上書きしないでください。アプリのロールバックやデータ復元が必要な場合は、完全終了し、更新前後の独立したコピーを残します。新旧プログラムで唯一のデータディレクトリを取り合わないようにしてください。

旧アプリには同じ不具合が残っている可能性があります。ロールバックは応急処置であり、定期処理の修正とは別です。プログラムとデータを戻したら、元のProfile、上書き設定、プロキシモード、実通信を確認します。手動バックアップは引き続き別に保存し、定期処理は前節どおり改めて待って検証してください。

公式プロジェクトへの報告では、使用しているシステム、完全なアプリのバージョン、元の間隔、起動と設定保存の実際の時刻、手動での結果、定期ファイル名、最初のエラーから機密情報を除いたものを伝えます。ZIP一式、サブスクリプションのリンク、認証情報はアップロードしないでください。他のプラットフォームで未実施の検証を、成功済みと書くことも避けてください。

参考資料