之前在百度上找怎么完整的保存onetab的书签信息,没找到答案,于是乎上了google,在stackoverflow上找到了一个相关的答案

How to restore OneTab list of tabs after computer crash? [closed]

发现答主的招数已经过时了,不过思路还是一样的

stackoverflow上提到的两个文件没有找到,但是chrome扩展的数据还是存在这个目录下

C:\Users\XXXX\AppData\Local\Google\Chrome\User Data\Default\Local Storage

1.18版本的onetab的数据存储在上面路径的leveldb文件夹下,直接备份整个文件夹就好了,

哦,对了,忘了说查找方法,大致思路就是利用强大的everything的搜索功能中的“最后修改时间”,查找在我修改了onetab书签信息后上面的那个目录中发生改变的一些文件,直指leveldb文件夹

图片可能不清晰,右击图片,新标签页打开

-----------------------------------------------朴素的分割线----------------------2018年1月16日----------

最后添加两个python3文件备份程序

md5校验选择备份(说人话:只备份被修改过的文件或者备份目标文件夹内没有的文件)

完全备份(就是完全删除原备份,再重新备份,正是这里所需要的,由于每次的onetab书签信息发生改变都会引起对应的.ldb结尾的文件名发生改变,所以不能使用第一个,不然备份文件夹内的文件会越来越多)

像下面这样,配置好以后,直接打开批处理文件就可以一键备份指定目录到指定路径下

注意:完全备份不适用于较大以及数量较多的文件备份,在备份onetab之前需要关闭chrome,否则会由于文件正在打开中权限不足备份失败

ubuntu 中通过grep -rl leveldb ~也能找到onetab的数据目录在

/home/xxx/.config/google-chrome/Default/Local Storage/leveldb

这样就可以多平台备份onetab的信息了,不过还是没有云同步用的爽

python3代码

# -*- coding: utf-8 -*-
"""
Created on Mon Jan 15 23:49:25 2018 @author: Asus
"""
# 脚本功能:删除new_path目录,然后复制original_path到new_path目录,初衷:用于名称变化的需要备份的文件
# 基于python3 import os
import shutil # 不校验直接删除已备份文件,再重新备份源文件
def non_checkout_backup(original_path, new_path):
if os.path.exists(new_path):
shutil.rmtree(new_path) # shutil.rmtree空目录、有内容的目录都可以删,但是必须要存在,否则报错, 而os.rmdir只能删除空目录
shutil.copytree(original_path, new_path) # original_path、new_path都只能是目录,而且new_path此前必须不存在 if __name__ == '__main__':
original_path = 'C:/Users/Asus/AppData/Local/Google/Chrome/User Data/Default/Local Storage/leveldb' # 这里需要更改,改成你自己的用户目录
new_path = 'D:/onetab数据备份/leveldb' # 这里改成你自己的备份目录
non_checkout_backup(original_path, new_path)

onetab一键备份.bat(运行之前关闭chrome浏览器,否则levelbd的文件处于占用状态,会报错)

python onetab_backup.py

完整的保存onetab的书签信息的更多相关文章

  1. 编写Java程序,创建一个 XML 文档,文档名为“hero.xml”,用于保存“王者荣耀”的英雄信息。

    查看本章节 查看作业目录 需求说明: 创建一个 XML 文档,文档名为"hero.xml",用于保存"王者荣耀"的英雄信息.英雄信息包括编号(id).姓名(na ...

  2. [转]删除SQL Server Management Studio中保存的帐户信息

    http://www.2cto.com/database/201208/149850.html   删除SQL Server Management Studio中保存的帐户信息   SQL Serve ...

  3. Linux和windows下清除svn保存的账号密码信息

    linux是什么用户登录就是什么用户的home下,如root用户就是/root,如果xiangdong就是/home/xiangdong 用Svn时会有一种需求是需要换个帐号测试一下什么的,但往往有缓 ...

  4. 无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)

    1.内容观察者ContentObserver 如果ContentProvider的访问者需要知道ContentProvider中的数据发生了变化,可以在ContentProvider 发生数据变化时调 ...

  5. 删除SSMS中保存的帐户信息

    通常我们在对象资源管理器中连接服务器时,会发现在服务器名称下保存有之前的实例信息.随着连接增多,要找某个连接还得费劲.sql2012:此时可以删除C:\Users\Administrator\AppD ...

  6. Spring mybatis源码篇章-NodeHandler实现类具体解析保存Dynamic sql节点信息

    前言:通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-XMLLanguageDriver解析sql包装为SqlSource SqlNode接口类 publi ...

  7. 应用SharedPreference保存程序的配置信息

    SharedPreference: 1.用来保存应用程序的配置信息的XML文件,内部的数据形式为键值对 2.一般存在于/data/data/<包名>shared_prefs目录下 3.该对 ...

  8. Visual studio之C# 利用Settings保存COM口配置信息

    背景 利用C#做一个串口通信项目,客户需求保存串口COM口的配置信息,在此利用Settings来进行保存. 正文 ".Settings"的创建 点击项目 --> 添加新项 - ...

  9. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第三篇(登录窗口的实现以及如何保存登录者的信息)

    一.前言: 1.再看这篇文章的时候,您是否已经完成前两篇介绍的文章里的功能了?(Tabs页的添加,Tabs页右键的关闭,主题的更换)                 2.今天来说说登录窗口吧,看截图: ...

随机推荐

  1. Using RUNDLL32.exe to call a function within a dll

    Using RUNDLL32.exe to call a function within a dll        Rundll32 is a utility included with Window ...

  2. windows安装redis, php5.5

    全套安装包地址 http://download.csdn.net/detail/whellote/9572797   解压 redis-2.2.5-win32-win64, 将里面的内容拷贝到j:/r ...

  3. 基于TSUNG对MQTT进行压力测试-基础概念温习

    [单台Broker压测结果]请移步另一篇博客:http://www.cnblogs.com/lingyejun/p/7941271.html 一.TCP报头部中的SYN.FIN.ACK: ACK : ...

  4. iOS 提升代码的安全性,可以做哪些措施???

    希望能尽量防止别人 反编译你的代码: 目前苹果审核规则可知,苹果官方是不希望你使用代码混淆的...如果发现了你用代码混淆,甚至会勒令你修改你的代码,否则下一次审核会直接移除你的app…尤其是跑脚本的那 ...

  5. eclipse 编译的时候 自动把SDK需要放入libs里面的so文件给删除了

    解决方法: 右击Project,选Properties->Builders, 把CDT Builder 关掉. 这样就不会编译了.包括c++的代码也不会编译.. 治标不治本啊...以后c++代码 ...

  6. [2011-3-9 12:59 ]As3.0中的位图(Bitmap/BitmapData)用法

    1.位图使用(模糊)滤镜 //创建一个矩形区域的BitmapData var bmd:BitmapData = new BitmapData(80, 30, false, 0xefefef); //画 ...

  7. ios 常见问题解决 以及小技巧

    1.使用cocoaPods引用第三方类库,报错:file not found   . 解决方案:设置 Project->Info->Configurations之后  clear ,然后再 ...

  8. Activiti工作流引擎数据库表结构

    Activiti工作流引擎数据库表结构 一.数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_ ...

  9. Java线程状态流转---线程

    说明:线程共包括以下5种状态.1. 新建状态(New)         : 线程对象被创建后,就进入了新建状态.例如,Thread thread = new Thread().2. 就绪状态(Runn ...

  10. 用python打印99乘法口诀表

    代码如下 #!/usr/bin/env python # encoding: utf-8 __author__ = 'Nicholas.Cage' i = 1 j = 1 while i <= ...