之前在百度上找怎么完整的保存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. java static成员变量方法和非static成员变量方法的区别 ( 二 )

    原创文章,未经作者允许,禁止转载!!! 静态成员变量不用new对象,在类加载的过程中就已经初始化存放在数据区域,静态成员变量是类和所有对象共有的,类和对象都可以改变它的值,每一次改变值之后,静态成员变 ...

  2. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) C Andryusha and Colored Balloons

    地址:http://codeforces.com/contest/782/problem/C 题目: C. Andryusha and Colored Balloons time limit per ...

  3. 谷歌技术"三宝"之谷歌文件系统(转)

    原文地址:http://blog.csdn.net/opennaive/article/details/7483523 题记:初学分布式文件系统,写篇博客加深点印象.GFS的特点是使用一堆廉价的商用计 ...

  4. 架构私用Nuget服务器

    1.新建一个空的asp.net站点 2.通过nuget引用 Nuget.Server程序集,引用后项目会多出一些文件.修改web.config 里的apikey为你要上传包时用的apikey,我的为: ...

  5. Sublime text3:安装插件SublimeREPL解决不支持input

    Sublime text3:安装插件SublimeREPL解决不支持input 安装SublimeREPL 1,调用ctrl+shift+p 输入install回车: 2,输出:sublimerepl ...

  6. 20145216 史婧瑶《Java程序设计》第6周学习总结

    20145216 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 10.1 InputStream与OutputStream 如果要将数据从来源中取出,可以使用输 ...

  7. 20145307第四次JAVA学习实验报告

    20145307实验四 Android开发基础 实验内容 基于Android Studio开发简单的 Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事 ...

  8. 2017阿里C++研发工程师-校招-单词匹配

    题目描述 给一个字符串, 然后给一个字典. 把字符串分解成字典里的单词组成的句子, 请输出所需空格最少的方案.并输出该方案. 样例 例如: 字符串为: str="ilikealibaba&q ...

  9. 解读:Hadoop序列化类

    序列化(serialization)是指将结构化的对象转化字节流,以便在进程间通信或写入硬盘永久存储. 反序列化(deserialization)是指将字节流转回到结构化对象的过程. 需要注意的是,能 ...

  10. 【转载】JExcelApi(JXL)学习笔记

    在公司的项目中,有excel生成.导出的需求,因此学习了用JXL读写excel,做个简单的笔记,以供参考.      实现用java操作excel的工具,一般用的有两个:一个是JXL,另一个是apac ...