完整的保存onetab的书签信息
之前在百度上找怎么完整的保存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的书签信息的更多相关文章
- 编写Java程序,创建一个 XML 文档,文档名为“hero.xml”,用于保存“王者荣耀”的英雄信息。
查看本章节 查看作业目录 需求说明: 创建一个 XML 文档,文档名为"hero.xml",用于保存"王者荣耀"的英雄信息.英雄信息包括编号(id).姓名(na ...
- [转]删除SQL Server Management Studio中保存的帐户信息
http://www.2cto.com/database/201208/149850.html 删除SQL Server Management Studio中保存的帐户信息 SQL Serve ...
- Linux和windows下清除svn保存的账号密码信息
linux是什么用户登录就是什么用户的home下,如root用户就是/root,如果xiangdong就是/home/xiangdong 用Svn时会有一种需求是需要换个帐号测试一下什么的,但往往有缓 ...
- 无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)
1.内容观察者ContentObserver 如果ContentProvider的访问者需要知道ContentProvider中的数据发生了变化,可以在ContentProvider 发生数据变化时调 ...
- 删除SSMS中保存的帐户信息
通常我们在对象资源管理器中连接服务器时,会发现在服务器名称下保存有之前的实例信息.随着连接增多,要找某个连接还得费劲.sql2012:此时可以删除C:\Users\Administrator\AppD ...
- Spring mybatis源码篇章-NodeHandler实现类具体解析保存Dynamic sql节点信息
前言:通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-XMLLanguageDriver解析sql包装为SqlSource SqlNode接口类 publi ...
- 应用SharedPreference保存程序的配置信息
SharedPreference: 1.用来保存应用程序的配置信息的XML文件,内部的数据形式为键值对 2.一般存在于/data/data/<包名>shared_prefs目录下 3.该对 ...
- Visual studio之C# 利用Settings保存COM口配置信息
背景 利用C#做一个串口通信项目,客户需求保存串口COM口的配置信息,在此利用Settings来进行保存. 正文 ".Settings"的创建 点击项目 --> 添加新项 - ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第三篇(登录窗口的实现以及如何保存登录者的信息)
一.前言: 1.再看这篇文章的时候,您是否已经完成前两篇介绍的文章里的功能了?(Tabs页的添加,Tabs页右键的关闭,主题的更换) 2.今天来说说登录窗口吧,看截图: ...
随机推荐
- JAVA中重写equals()方法为什么要重写hashcode()方法?
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...
- Python(异常处理)
一 错误和异常 程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误(逻辑错误) 什么是异常 异常就是程序运行时发 ...
- mysql数据库从删库到跑路之mysql数据类型
一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...
- 一步一步学EF系列三【数据迁移】
我们每篇的内容都不多,所以希望在学习的过程中最后能亲自敲一下代码 这样更有利于掌握. 我们现在接着上篇的例子,我们现在给随便的表增加一个字段 CreateTime 创建日期 运行一下 看看会怎么样 修 ...
- Android开发环境配置到第一个程序所遇到的问题
1.安装顺序 先jdk,最后是1.7或1.8吧,配置环境变量:然后是sdk,配置环境变量:sdk安装之后即可以通过SDK Manager进行其他包的安装. 2.sdk及其他包的安装,以一张图表示,对于 ...
- iOS 动态调用方法
- (void)bugly { dispatch_async(dispatch_get_global_queue(0, 0), ^{ if (NSClassFromString(@"Bu ...
- ElasticSearch(四) ElasticSearch中文分词插件IK的简单测试
先来一个简单的测试 # curl -XPOST "http://192.168.9.155:9200/_analyze?analyzer=standard&pretty" ...
- JavaScript常用工具方法封装
因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字符串 return Object.prototype. ...
- markdown工作随笔总结
1. 锚点 (使用方法和链接很像) ## 目录 1. [命名](#命名) ....... **[返回顶部](#目录)** ## 命名 ###命名原则 可以从返回顶部回到目录,也可以点击目录的命名跳到命 ...
- Swift进阶之路(一)——单例模式、属性传值、代理传值、闭包传值
一.单例模式 单例模式是设计模式中最简单的一种,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象. 关于单例,有三个重要的准则需要牢 ...