找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 705|回复: 7

[建议] 新版是否能新增一项 Preferences 等核心配置,主动防灾备份功能?

[复制链接]
匿名  发表于 2026-3-28 17:25:41 |阅读模式

https:// www. centbrowser. net/zh-cn/forum.php?mod=redirect&goto=findpost&ptid=21750&pid=116682
Admin
强制结束进程,还是有小概率会导致配置文件损坏的,建议你使用账号同步多一重保险

----

在新版的设置里,新增一项是否允许开启核心配置文件本地主动防灾备份功能,每隔 xx 小时备份一次,最多保留 xx 项,备份列表,如何?xx 与备份列表是用户可选或填空项,当开启后,百分将按照设定好的值,自动运行指定批处理(backup.cmd?)或内置文件操作命令,对 User Data \ Default 等多个账户文件夹内的 Preferences 等(可自定义)核心文件,进行备份。万一用户电脑因为蓝屏等意外情况,导致 chrome 崩溃带来的 Preferences 等核心配置文件损坏,问题发生后,用户还能在 ini Backup 文件夹里,找回最近有效的备份进行手动恢复

核心配置文件,本地主动防灾备份功能,这个在所有的第三方浏览器里都很极其罕见,我觉得这个做好了后,能变成百分遇到风险情况时的保底优势,别家出问题就全部凉凉,百分出问题,我们用户还有后备手段(需提前或默认开启)兜底

----

我找了免费尝鲜野龙虾,让他自己思考,为我生成明确的 skill 并自行按照 skill 要求,制作一份示例代码,所需备份文件列表可以在 bat 里手动设置。生成的代码可能有错误,我没有实际运行过,只是提供一个老大开发参考思路
  1. 【批处理文件需求:CentBackup.bat】
  2. 适用场景:Windows第三方Chromium便携浏览器根目录(含chrome.exe、User Data文件夹)
  3. 核心功能:自动备份浏览器用户数据指定文件,自动清理旧备份

  4. 一、固定配置项
  5. 1. backupfiles=50:ini Backup文件夹最多保留50份时间戳备份,超出则递归删除最旧的
  6. 2. backupDefaults=1:1=备份User Data下所有Default/Default1/Default2...;0=仅备份Default
  7. 3. 备份文件列表:Preferences、History、Login Data

  8. 二、执行流程(严格顺序)
  9. 1. 校验脚本必须在chrome.exe同级目录运行,否则报错退出
  10. 2. 校验User Data目录存在,不存在则退出返回错误码1
  11. 3. 获取当前系统时间,格式化为:2026-03-28 14-48-54
  12. 4. 在根目录创建 ini Backup 文件夹(如已存在则跳过创建步骤),子目录为时间戳文件夹
  13. 5. 根据backupDefaults配置,枚举所有需要备份的Default文件夹
  14. 6. 将指定文件复制到对应时间戳目录,保留原目录结构
  15. 7. 自动清理超出数量的旧备份,仅保留最新N份
  16. 8. 复制成功:静默退出;复制失败:显示报错信息,按任意键后退出

  17. 三、输出目录结构示例
  18. 根目录
  19. ├─ ini Backup
  20. │  ├─ 2026-03-28 14-48-54
  21. │  │  ├─ Default
  22. │  │  │  ├─ Preferences
  23. │  │  │  ├─ History
  24. │  │  │  └─ Login Data
  25. │  │  └─ Default2(按需生成)
  26. │  └─ 2026-03-28 15-48-54
  27. ├─ chrome.exe
  28. └─ User Data

  29. 四、使用说明
  30. 将 CentBackup.bat 放在便携浏览器根目录(和 chrome.exe 同级)
  31. 双击运行,自动完成备份
  32. 备份文件保存在 ini Backup 文件夹,自动保留最新 50 份
  33. 复制失败会弹窗提示,成功则静默退出
复制代码
  1. @echo off
  2. chcp 65001 >nul
  3. setlocal enabledelayedexpansion

  4. :: ===================== 核心配置项(可自行修改) =====================
  5. set "backupfiles=50"          :: 最大保留备份份数,超出自动删除最旧的
  6. set "backupDefaults=1"        :: 1=备份所有Default/Default1/Default2... 0=仅备份Default
  7. :: 备份文件列表(无后缀,每行一个)
  8. set "backupList=Preferences History Login Data"
  9. :: ====================================================================

  10. :: ===================== 路径初始化与根目录校验 =====================
  11. set "ExePath=%~dp0chrome.exe"
  12. set "RootDir=%~dp0"
  13. set "UserDataDir=%~dp0User Data"
  14. set "BackupRoot=%RootDir%ini Backup"

  15. :: 校验:必须在chrome.exe同级目录运行
  16. if not exist "%ExePath%" (
  17.     echo 错误:脚本未放置在 chrome.exe 同级根目录!
  18.     pause >nul
  19.     exit /b 1
  20. )

  21. :: 校验:用户数据目录不存在,退出并返回错误码1
  22. if not exist "%UserDataDir%" (
  23.     exit /b 1
  24. )

  25. :: ===================== 生成当前时间戳(格式:2026-03-28 14-48-54) =====================
  26. for /f "tokens=2 delims==" %%a in ('wmic os get LocalDateTime /value') do set "dt=%%a"
  27. set "timeStamp=%dt:~0,4%-%dt:~4,2%-%dt:~6,2% %dt:~8,2%-%dt:~10,2%-%dt:~12,2%"
  28. set "CurrentBackupDir=%BackupRoot%\%timeStamp%"

  29. :: ===================== 创建备份目录 =====================
  30. if not exist "%BackupRoot%" mkdir "%BackupRoot%"
  31. mkdir "%CurrentBackupDir%"

  32. :: ===================== 枚举需要备份的 Default 文件夹 =====================
  33. set "defaultFolders="
  34. if %backupDefaults% equ 1 (
  35.     :: 备份所有 Default 开头的文件夹
  36.     for /d %%d in ("%UserDataDir%\Default*") do (
  37.         set "defaultFolders=!defaultFolders! %%~nxd"
  38.     )
  39. ) else (
  40.     :: 仅备份默认 Default 文件夹
  41.     set "defaultFolders=Default"
  42. )

  43. :: ===================== 执行文件复制备份 =====================
  44. set "copyError=0"
  45. for %%f in (%defaultFolders%) do (
  46.     set "srcDir=%UserDataDir%\%%f"
  47.     set "destDir=%CurrentBackupDir%\%%f"
  48.     if exist "!srcDir!" (
  49.         mkdir "!destDir!" 2>nul
  50.         :: 循环复制备份列表中的文件
  51.         for %%i in (%backupList%) do (
  52.             if exist "!srcDir!\%%i" (
  53.                 copy "!srcDir!\%%i" "!destDir!\%%i" /y >nul 2>&1
  54.                 if errorlevel 1 set "copyError=1"
  55.             )
  56.         )
  57.     )
  58. )

  59. :: ===================== 清理旧备份(保留最新 N 份) =====================
  60. for /f "skip=%backupfiles% delims=" %%d in ('dir "%BackupRoot%" /ad /b /o-n') do (
  61.     rd /s /q "%BackupRoot%\%%d" 2>nul
  62. )

  63. :: ===================== 复制结果校验 =====================
  64. if %copyError% equ 1 (
  65.     echo ==============================================
  66.     echo 备份失败!部分文件复制出错,请检查权限/目录
  67.     echo ==============================================
  68.     pause
  69.     exit /b 1
  70. )

  71. :: 备份成功,静默退出
  72. endlocal
  73. exit /b 0
复制代码
回复

使用道具

12

主题

1万

回帖

2万

积分

超级版主

(^^ゞ

积分
27493
发表于 2026-3-28 18:05:28 | 显示全部楼层
我觉得有点意思,能多个本地备份用户数据的便捷途径。但似乎会有个现实的问题,在浏览器运行过程中,有部分数据文件是被程序锁着而不让读取的。
¯\(°_o)/¯
回复

使用道具 举报

0

主题

8

回帖

42

积分

新手上路

积分
42
发表于 2026-3-30 09:57:00 | 显示全部楼层
我觉得这个可以有。但这个批处理还是要手动去执行。需要一个能定期定时执行的操作。放系统的计划任务里应该也可以。
回复

使用道具 举报

29

主题

1766

回帖

9889

积分

论坛元老

积分
9889
发表于 2026-3-30 10:48:48 | 显示全部楼层
每月备份系统盘表示无压力,回滚个两周一个月的不影响,环境配好了基本不动,只有历史记录的变化,不是太重要
回复

使用道具 举报

匿名  发表于 2026-4-30 19:47:30
https ://www .firefox .com/en-US/firefox/150.0/releasenotes#:~:text=Backing,system
https ://support .mozilla .org/zh-CN/kb/firefox-backup

我怀疑火狐开发人员在偷看百分社区的我们帖子聊天,前脚刚给百分提建议,后脚火狐 150 前几天新版就做好更新了(狗头滑稽.jpg)



说回正题,150 新增的本地备份功能地址    about:preferences#sync     ,不登陆火狐帐号也能用,我点击立即备份后,他导出的是一份 FirefoxBackup_Profiles_20260430-191152.864.html 文件,可以直接当作网页打开,会有简易恢复指引,数据都在 /html 标签结尾,ZIP 以 base64 编码在 html 文件里,我备份完成的大小是 130MB 左右,如果要导出密码等隐私信息,火狐强制要为 ZIP 添加密码,密码要求最低 8 个字符,不能使用火狐帐号的密码

老大也可以参考火狐新出的备份功能,核心信息备份真的在需要时候能 “ 灭火 ” 不至于一无所有



FirefoxBackup_Profiles_20260430-191152.864.html 内容预览

  1. <!DOCTYPE html>
  2. <!-- Version: 1 -->
  3. <html lang="zh-CN"><head>
  4.     <meta charset="UTF-8" />
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6.     <title data-l10n-id="backup-file-title">恢复 Firefox</title>
  7.     <style>
  8.     样式信息省略,太长了
  9.     </style>
  10.   </head>
  11.   <body>
  12.     <img id="logo" role="presentation" src="base64 编码的火狐图片" />
  13.     <h1 data-l10n-id="backup-file-header">Firefox 已准备好恢复</h1>
  14.     <p data-l10n-id="backup-file-intro">找回熟悉的浏览体验,并恢复所有书签、历史记录等数据。<a data-l10n-name="backup-file-support-link" id="support-link" target="_blank" href="***">详细了解</a></p>

  15.     <dl>
  16.       <dt data-l10n-id="backup-file-path-label">备份文件:</dt>
  17.       <dd id="backup-file-path-value"></dd>
  18.       <dt data-l10n-id="backup-file-creation-date-label">创建时间:</dt>
  19.       <dd id="creation-date-value" data-l10n-id="backup-file-creation-date-value" data-l10n-args="{&quot;date&quot;:1777547512864}">2026/4/30 19:11</dd>
  20.       <dt data-l10n-id="backup-file-creation-device-label">设备:</dt>
  21.       <dd id="creation-device-value">本地帐号名称 在 电脑名称 上使用的 Firefox</dd>
  22.       <dt data-l10n-id="backup-file-encryption-state-label">加密:</dt>
  23.       <dd id="encryption-state-value" data-l10n-id="backup-file-encryption-state-value-not-encrypted">否</dd>
  24.     </dl>
  25.     <h2 data-l10n-id="backup-file-how-to-restore-header">恢复方法:</h2>
  26.     <section class="moz-browser">
  27.       <ol>
  28.         <li data-l10n-id="backup-file-moz-browser-restore-step-1">打开应用程序菜单 ☰,前往“设置”&gt;“同步”</li>
  29.         <li data-l10n-id="backup-file-moz-browser-restore-step-2">点击“选择备份文件”并选择此文件</li>
  30.         <li data-l10n-id="backup-file-moz-browser-restore-step-3">按照指引,重新启动 Firefox</li>
  31.       </ol>
  32.     </section>
  33.     <section class="other-browser">
  34.       <ol>
  35.         <li><span data-l10n-id="backup-file-other-browser-restore-step-1">下载并安装 Firefox</span><a id="download-moz-browser" class="button-link" data-l10n-id="backup-file-download-moz-browser-button" href=" 下载地址 ">下载</a></li>
  36.         <li data-l10n-id="backup-file-other-browser-restore-step-2">启动 Firefox,打开应用程序菜单 ☰,前往“设置”&gt;“同步”</li>
  37.         <li data-l10n-id="backup-file-other-browser-restore-step-3">点击“选择备份文件”并选择此文件</li>
  38.         <li data-l10n-id="backup-file-other-browser-restore-step-4">按照指引,重新启动 Firefox</li>
  39.       </ol>
  40.     </section>
  41.   
  42.   <script>
  43.   /**
  44. //@line 15 "$SRCDIR/browser/components/backup/content/archive.js"
  45. */

  46. const UA = navigator.userAgent;
  47. const isMozBrowser = /Firefox/.test(UA);

  48. document.body.toggleAttribute("is-moz-browser", isMozBrowser);

  49. const filePath = decodeURI(document.location.pathname);
  50. const filePathNode = document.getElementById("backup-file-path-value");
  51. if (filePathNode) {
  52.   filePathNode.innerText = filePath;
  53. }

  54.   </script>

  55. </body></html>

  56. <!-- Begin inline MIME --
  57. ------=_Part_unix时间戳_随机字符_随机字符
  58. Content-Type: application/json; charset=utf-8
  59. Content-Disposition: attachment; filename="archive.json"
  60. Content-Length: 484

  61. {"version":2,"encConfig":null,"meta":{"date":"2026-04-30T11:11:52.864Z","appName":"firefox","appVersion":"150.0","buildID":"20260415192539","profileName":"Profiles","deviceName":"电脑名称","machineName":"本地帐号名称 在 电脑名称 上使用的 Firefox","osName":"Windows_NT","osVersion":"10.0","legacyClientID":"UUID","profileGroupID":"UUID","healthTelemetryEnabled":false,"usageTelemetryEnabled":false,"isSelectableProfile":false}}

  62. ------=_Part_unix时间戳_随机字符_随机字符
  63. Content-Type: application/octet-stream
  64. Content-Disposition: attachment; filename="archive.zip"
  65. Content-Transfer-Encoding: base64
  66. Content-Length: 135467541

  67. ....

  68. ------=_Part_unix时间戳_随机字符_随机字符
  69. ---- End inline MIME -->
复制代码
回复

使用道具

5

主题

40

回帖

782

积分

高级会员

积分
782
发表于 2026-5-2 20:06:37 | 显示全部楼层
路过路过, 坐看回复
回复

使用道具 举报

8

主题

101

回帖

1334

积分

金牌会员

积分
1334
发表于 2026-5-2 21:02:58 | 显示全部楼层
我觉得还是把更新周期加快一些更好,把一年更新一次改为半年
回复

使用道具 举报

38

主题

553

回帖

3977

积分

论坛元老

积分
3977
发表于 2026-5-4 11:30:07 | 显示全部楼层
收到              
最新下载地址:
https://static.centbrowser.cn/win_stable/
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|百分浏览器论坛

GMT+8, 2026-5-31 13:27 , Processed in 0.019759 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表