Created
April 19, 2016 14:37
-
-
Save Und3rf10w/36a2034cb2c8eafbfb801c1a89e1f8bc to your computer and use it in GitHub Desktop.
Revisions
-
Und3rf10w created this gist
Apr 19, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,48 @@ #!/bin/sh # Taken from http://blog.encomiabile.it/2011/02/03/prune-quassel-database/ BAK_PATH="${HOME}/.config/quassel-irc.org/quassel-storage.sqlite.bak" CURRENT_PATH="${HOME}/.config/quassel-irc.org/quassel-storage.sqlite" # first day of data that will be maintained # -7 day means that *every* chatline stored before 8 days ago and so on are going to be eliminated. # only the last 7 days are keeped. DATE_TO_PRUNE='-7 day' die() { echo $@ exit 1 } # is quassel running? is_quassel_running() { pgrep quassel > /dev/null echo $? } if [ $(is_quassel_running) -eq 0 ]; then echo "ERROR: quassel is running, stop it first!" exit 1; fi echo -n "Creating a backup and a temporary copy of the db .." mv "$CURRENT_PATH" "$BAK_PATH" || die "unable to create a copy backup" cp "$BAK_PATH" "$BAK_PATH.tmp" || die "unable to create a temporary copy of the db" echo ".. done!" echo -n "Cleaning up the database .." # purge the db from old entry sqlite3 $BAK_PATH.tmp "DELETE FROM backlog WHERE time < strftime('%s','now','${DATE_TO_PRUNE}');" || die "Purge failed" echo ".. done!" echo -n "Rebuilding database .." # rebuild the db to save disk space (the db doesn't shrink automatically) sqlite3 $BAK_PATH.tmp .dump | sqlite3 $CURRENT_PATH || die "Rebuild failed" echo ".. done!" echo -n "Deleting temporary files .." # delete rubbish rm "$BAK_PATH.tmp" || die "rm failed" echo ".. done!"