HowTo: Chrome-Tabs per bash sichern

06 Sep 2012

Ich habe mich schon des öfteren geärgert, dass Google-Chrome nach einem Absturz die vorherigen Tabs (100+) nicht immer zuverlässig wiederherstellen konnte.

Also suchte ich nach einer Lösung, die laufenden Tabs regelmäsig zu sichern. Die einzigen Tipps welche ich fand waren Chrome-Extensions wie Grab Tabs. Die funktionieren zwar soweit ganz gut aber wer macht schon händisch regelmäßig Backups seiner Tabs? Eben.
Also habe ich mal unter den Chrome geschaut und mir folgendes kleine Skript gebaut, welches recht zuverlässig die offenen URLs der aktuellen Sitzung extrahiert:

#!/bin/bash
mkdir -p ~/.gurls
cat ~/.config/google-chrome/Default/Current\ Session \
| sed 's/[^[:print:]]/\n/g' \
| grep ^http | sed '1~2d' \
| sed s/[\(\)\&\^\?]\$//g \
| sort | uniq > \
~/.gurls/$( date '+%d%m%y%H%M' )_gurls.txt

Dazu parst es das die binäre "Current Session"-Datei im Konfigurationsverzeichnis von Chrome und ersetzt alle nicht druckbaren Zeichen mit Zeilenumbrüchen. Anschließend werden alle Zeilen welche mit http beginnen zur Weiterverarbeitung herausgefiltert und jede zweite Zeile gelöscht. Irgendwie sind alle URLs doppelt vorhanden. Zum Schluss werden noch etwaige Sonderzeichen am Ende der URLs, die dort nicht hingehören, entfernt und alle URLs noch einmal sortiert, von doppelten Einträgen entfernt und in einer Datei gespeichert.  Durch die Extrahierung von URLs aus Binärdaten von unbekanntem Format sind Fehler nicht ausgeschlossen. Dennoch funktioniert das bisher recht zuverlässig.

Dieses Skript lasse ich nun per cron alle 5 Minuten laufen und fühle mich sicher, keinen Tab mehr zu verlieren bzw. meine History der letzten Wochen nach einer bestimmten URL durchsuchen zu müssen.

cat chrome dev google grep hack howto linux sed shell sicherung tab web
comments powered by Disqus