Friday, February 6, 2009

Bash History In The Cloud

Since I began programming I have worked on at least a hundred different computers: university workstations, my own computers, dozens of employer and client workstations. Each one had a history file loaded with commands that I begged, borrowed, stole, sweated and cried for. Countless hours of work now long gone or rotting somewhere in a stack of backups.

Everyone, please. A moment of silence for all the shell commands that have gone into the bit bucket never to be heard from again. Even the mean ones that hosed my system. Especially those.

Ladies and Gentlemen I come before you now to swear that never again will I lose this information. Now with shell-sink I keep all that lovely data handy no matter where I am. On top of that I can organize and group useful sets of commands and have them at my fingertips when I need them. I dedicate the Shell-sink tool to the memory of all those late night sed and awk one liners that have saved millions of lives, but faded from memory all too quickly.

Features include:

  • Permanent and unlimited storage of bash history
  • Pull commands back out of the sink and into your shell based on a tag or keyword
  • Searchable bash history
  • Tagable bash history
  • Annotateable bash history
  • Aggregate bash history from multiple computers into one grand unified history
  • RSS feed of your bash history that you can filter
Shell-sink stores your bash history in Google's big table. Development is ongoing. And I have an ever growing feature list including command statistics, and powerful ways to share and document groups of commands.

A guide to get started can be found here. Debian/Ubuntu packages exist to make installation and updates a snap. But installation is pretty easy on other unix based systems. So far nobody has used the sink but me, so if you try it out please drop me a line with some feedback. There is a google group that would be a perfect place to leave feedback.

3 comments:

KetanPadegaonkar said...

How difficult would it be to port this to zsh ? I'm a zsh user and would love to use this!

Shlomo said...

Ketan,

Thanks for the question. I wrote up some instructions to show how to make it work for zsh http://shell-sink.blogspot.com/2009/02/using-shellsink-with-zsh-is-easy.html

Try them out and tell me what you think.

Anonymous said...

For what it's worth, this is a similar project that supports zsh and bash out of the box.

https://code.google.com/p/advanced-shell-history/