个人博客,Sesprie~

完整的保存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

 

posted @ 2018-01-15 22:19  小时候嘚小时候  阅读(2139)  评论(4编辑  收藏  举报