barbruh.21.12.11

草,firefox又开始清空历史记录了吗(悲🤔

我下了个sqlite数据库的查看器看了一眼,发现原来moz_historyvisits表可能有53万条数据,现在只剩一百条了🤔而moz_places也被删了一大半🤔

所以firefox里到底是哪个插件或者哪个内部函数参与了删除这两个表数据的操作?🤔

但无论如何我现在得接着备份firefox的places.sqlite了(悲🤔实在不成这样吧,写一个bash函数,它先运行firefox的可执行文件,然后在它下面写备份脚本,这样我每关闭一次firefox它就能直接备份🤔

为什么得先关闭firefox才能备份places.sqlite?很明显因为它开的时候places.sqlite完全就没法被rar用🤔如果我对sqlite这种鬼东西的理解没错的话,每使用一次.sqlite它就会彻底锁定这个文件,并在它旁边建立两个临时文件🤔

那么问题来了,它是在firefox(或者任何使用sqlite的程序)彻底关闭之后才把改动写入主文件呢,还是改动的时候就已经写入了?如果是前者的话,也许可以找个办法在firefox删掉所有历史记录之后,还有办法抢救回来,大不了恢复到上次打开firefox的状态🤔

thonk

刚测试了下,我可以直接将places.sqlite复制到别处,用win自带的复制粘贴功能🤔然后用sqlite查看器打开,可以看出places.sqlite的修改时间还是原来那个,那两个临时文件的修改时间随我在里面执行sql语句(迫真)而改变🤔

拉几把倒吧,我知道的太晚了,下次firefox再出这种故障,手动复制places.sqlite到别处然后再关浏览器恢复,要是直接关浏览器的话,那些删除操作就会被直接写入places.sqlite,那时就一点办法都没有了,只能看有没有备份档了(悲🤔

不过我还是奇怪,为什么sqlite开始运行的时候rar没法读文件,但win系统自带的复制功能可以🤔

wiebitte

其实刚才我备份firefox的函数漏写了一行,难怪它找不到places.sqlite🤔在修正之后,只要firefox一关闭它就能备份places.sqlite🤔

我们接下来更进一步,将打开firefox并在其关闭之后自动备份places.sqlite这个bash脚本便乘win快捷方式🤔毕竟每次使用firefox都要打开cygwin并敲一顿命令行怎么说也非常奇怪就是了(🤔

首先我们参照下cygwin terminal本身的快捷方式长啥样:打开那玩意的属性,它的目标写着C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -

注意这玩意可以一个字节都不变地输入到win系统的cmd里面,运行效果是等价的,所以可以用cmd来调试它(确信

如果我没理解错的话,linux程序后面的-意思是接受标准输入,那么打开后它就是我们熟悉的交互式shell🤔如果把-换成比如一个bash脚本的话,那么它就能便乘bash脚本解释器,直接执行我们设定的bash函数,执行完就退出,不bb🤔

所以我可以写一个新的快捷方式,目标设成

C:\cygwin64\bin\mintty.exe "C:\cygwin64\bin\firefox.sh"

当然也可以设成C:\cygwin64\bin\bash.exe "C:\cygwin64\bin\firefox.sh",我没找到这两个bash解释器的区别,除了在cmd里mintty.exe不会在cmd窗口里显示它的输出,bash.exe会🤔

但当我将.bashrc里的函数迁移进那个sh文件之后,它开始报错,显示一堆命令不存在🤔比如它会显示date、grep和rar不存在🤔

对cygwin比较熟悉的话就能发现问题出在哪儿🤔cygwin的实现方式里,这些命令都不是bash解释器内置的命令,而是放在C:\cygwin64\bin\里的外部程序🤔在cygwin的.bashrc里有一段话:

# If not running interactively, don't do anything
[[ "$-" != *i* ]] && return

意思是如果cygwin没跑交互式shell的话,它下面的玩意一句都不执行(确信🤔不仅如此,如果不跑交互式shell的话,它连/bin目录都不加载到path里🤔所以,对上述脚本的改进就是在所有那些命令前面都加绝对路径/bin/🤔我觉得最生草的是路径它居然能解析对,当然如果路径它都搞不对的话这bash解释器还是删掉得了(半恼🤔

问题解决,现在我把它做成快捷方式,换上firefox的图标,拖到下面的任务栏里,这样我就可以和原来一样打开firefox了,只不过我关掉之后,它会自动开始备份places.sqlite🤔

eulathonk

草,突然想买个大型娃娃,然后给它穿上eula chan的cosplay制服,这样我就有了一个eula chan irl🤔

更进一步,我还想搞个身高两米左右的人形机器人,然后这个eula chan irl不仅长得像eula chan,还能做出人类cosplayer做不出来的事情:像游戏里的eula chan一样后空翻(确信🤔

当然这个对现在的科技来说还是太超前了,非人形机器人都没法随便移动(悲🤔现在最仿生的玩意是机器狗,问题是我不需要一个机器狗cosplay狗,我需要一个机器eula chan来cosplay eula chan(🤔

算了吧,我还是先去买个娃娃吧🤔至少这样我的垃圾相机终于可以拍点萌妹照片了,自从这司马印~度病毒传播开来,我已经两三个月没用满空间了(悲🤔

发表评论