Open Source im professionellen Einsatz

Punch

So mancher Linux-Geek denkt zu Recht, dass dies alles doch auch mit ein paar Zeilen Shellcode gehen müsste. In der Tat ist ein »echo« -Kommando oder ein Texteditor oft vollkommen ausreichend. Wer »echo `date` "Telefonat mit Kunde A" >> zeiterfassung.txt« zu unkomfortabel findet, gehört zur Zielgruppe von Punch. Das unter der GPLv3 stehende Python-Programm baut auf der Aufgabenverwaltung Todo.txt [13] auf, die alle Daten in normalen Textdateien verwaltet. Somit sind die Informationen auch dann zugänglich, wenn Todo.txt und Punch nicht installiert sind.

Am besten installieren Anwender zunächst Todo.txt. Sie laden dazu das Zip-Archiv herunter und entpacken es zum Beispiel in »~/bin« . Es ist darüber hinaus sinnvoll, denn langen Verzeichnisnamen umzubenennen. Das dort liegende Shellskript muss ausführbar sein, ein Alias erleichtert die Arbeit ungemein:

mv ~/bin/ginatrapani-todo.txt-cli-ebe6a40/ todo
cd ~/bin/todo
chmod 755 todo.sh
alias todo ~/bin/todo/todo.sh

Einen Überblick über die Funktionsweise verschaffen die Befehle »todo -h« und »todo help« . Damit Todo.txt und Punch reibungslos zusammenspielen, kopieren Benutzer die Datei »todo.cfg« direkt ins Homeverzeichnis. Zudem setzen sie die Variable »TODO_DIR« über »export TODO_DIR=~/bin/todo« . Als Nächstes ist Punch an der Reihe. Auch der Inhalt dieses Downloadarchivs fühlt sich im Ordner »~/bin« zu Hause. Ein Alias spart auch hier Tipparbeit:

alias punch="python ~/bin/Punch.py"

Damit ist die Zeiterfassung für die Shell einsatzfähig.

Kein + für ein @

Zunächst füttern Anwender ihre Todo-Liste mit Aufgaben (siehe Abbildung 7). Das Kommando »add« fügt eine Task hinzu. Todo.txt weist jedem Eintrag eine laufende Nummer zu. Die Tasks verschlagworten »+« oder »@« . Das Pluszeichen leitet Projektnamen ein, der Klammeraffe beschreibt den Kontext. Anhand dieser Tags erhalten Nutzer einen schnellen Überblick über anstehende Jobs. So führt »todo list @anruf« etwa alle geplanten Telefongespräche auf; »todo list« zeigt die komplette Liste.

Abbildung 7: Punch und Todo.txt sind ein prima Team auf der Shell. Nachdem Benutzer ihre Todo-Listen angelegt haben, kann die Zeiterfassung ihre Arbeit aufnehmen.

Abbildung 7: Punch und Todo.txt sind ein prima Team auf der Shell. Nachdem Benutzer ihre Todo-Listen angelegt haben, kann die Zeiterfassung ihre Arbeit aufnehmen.

Um die Aufzeichnung zu beginnen, verwendet der Nutzer die Punch-Option »in« , gefolgt von der Tasknummer, also etwa »punch in 1« . Nach getaner Arbeit stempelt er entweder explizit über »punch out« aus oder beginnt einfach die Aufzeichnung einer neuen Aufgabe (»punch in 2« ) und hält damit den Timer des ersten Jobs an.

Als Kommandozeilentool lässt Punch die Arbeitsflächen der Desktopumgebungen links liegen und checkt damit auch nicht automatisch ein und aus. Eine Erinnerungsfunktion ist nicht vorhanden.

Punch speichert seine Informationen in der Datei »punch.dat« im zuvor über »TODO_DIR« gesetzten Verzeichnis. Über den Befehl »what« verrät das Tool, woran ein Nutzer gerade arbeitet, und »rep« erstellt einen zusammenfassenden Bericht, der nach Tagen sortiert anzeigt, wie viel Minuten ein Nutzer mit welcher Tätigkeit verbracht hat (Abbildung 8).

Abbildung 8: Über das Kommando rep erstellt Punch zusammenfassende Berichte und verrät, wie viel Zeit ein Nutzer mit welchem Projekt verbracht hat.

Im- oder Exportfunktionen offeriert Punch nicht – sie sind aber auch nicht unbedingt nötig. Mit Linux-Bordmitteln generieren Anwender am Monatsende Zeitnachweise, filtern die Berichte nach Schlagworten und erstellen so Vorlagen für Latex oder lassen die Texte in eine Officevorlage einfließen. In den Händen eines versierten Linux-Anwenders ist Punch ein praktisches Werkzeug, das zuverlässig die Zeit erfasst und über Geleistetes Auskunft erteilt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 8 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook