2008-12-29 14 views
37

Ich suche nach etwas, das in einem Terminal läuft und mir ermöglicht, die Zeit zu verfolgen. Ich möchte, dass es Open Source ist, aber das ist nicht notwendig.Beste Kommandozeilen-Zeit-Tracking-Anwendung?

Die meisten Zeiterfassungs-Apps, die ich gefunden habe, sind entweder Web- oder GUI-basiert und es dauert länger, Daten einzugeben, als ich möchte.

+0

Bitte geben Sie das Betriebssystem an. –

+0

und bieten Beispiele, welche Apps Sie nicht mögen. –

+0

@Jared - Diese Frage ist sehr alt ... aber ich frage mich: Haben Sie endlich irgendeine der vorgeschlagenen Software verwendet? ... oder hast du etwas anderes gewählt? – mac

Antwort

11

ein echter Grund eines

$ echo `date`": what I'm doing now" >> timelog.txt 

Wenn Sie es verarbeiten, später wollen würde, dann ist es einfacher, wenn Sie, dass date +%s oder date +%F%T machen.

Man könnte das als ein Shell-Skript wickeln:

#!/usr/bin/bash - 
echo `date +%s` $* >> ~/timelog.txt 

einen Hinweis von dem, was Sie wirklich tun wollen helfen könnte.

+2

omg ich wurde so mit dieser Troll, aber Sie haben mich geschlagen! –

1

Hängt von den Informationen ab, die Sie verfolgen möchten. In einer Firma mussten wir nur unsere gesamten Arbeitszeiten pro Tag verfolgen (Steuer/Sozialversicherungszweck). Die einfachste Lösung war: last. Differenziertere könnte man einfach wie etwas tun

echo -e -n `date`\tProjectName\tTask\tComment >> MyTimeTable.txt 
...whatever... 
echo -e \t`date` >> MyTimeTable.txt 

und procsessing mit den üblichen Verdächtigen (grep, awk, ...).

Wenn Sie noch mehr Funktionalität benötigen, kenne ich niemanden, der ohne eine GUI funktioniert.

5

könnten Sie wtime verwenden:

wtime [ -t task ] [ <action> ] 

-t task 
    Specify the name of the task. It has to be a valid file- 
    name. Only the first 32 characters are taken into account. 
    The default value is "default". 

action is one of the following: 

-h Display help. 

-a Start counting. 

-s Stop counting. 

-c Display current elapsed time in seconds. 

-r [ start [ end ]] 
    Display time spent on the task during the specified 
    period. The parametres start and end represent the 
    begginning and end of the reporting period respec- 
    tively. The format of start and end is '%d-%m-%Y' 
    (see strptime (1)). The default values are the cur- 
    rent time for end and the begginning of the current 
    month for the start parameter. 
+0

Danke, das macht was ich will. Ich möchte die Ergebnisse in einer Datenbank gespeichert haben, aber es sollte nicht schwer sein, ein Perl-Skript zu schreiben, um die Dateien durchzugehen und die Daten zu einer SQLite-Datenbank hinzuzufügen. – Jared

+0

wäre es schön, wenn es Zeit in Stunden und nicht in Sekunden berichten könnte. – cmcginty

28

TimeTrap. Es ist einfach und leicht und etwas intuitiv zu bedienen.

$ t switch World Domination Plan 
$ t in --at "5 minutes ago" Research Volcano Islands 
$ t out 
$ t display 
Timesheet World Domination Plan: 
Day   Start  End  Duration Notes 
Mar 14, 2009 19:53:30 - 20:06:15 0:12:45 Research Volcano Islands 
Total        0:12:45 

Es in Ruby als ein Juwel auf Gemcutter einen verfügbaren geschrieben oder auf GitHub: http://github.com/samg/timetrap

Ein ähnliches Werkzeug in Python geschrieben ist TimeBook und auf bitbucket genannt.

13

Ich habe vor kurzem TaskWarrior entdeckt, die rein CLI ist aber ziemlich funktionsreich.

EDIT Juni 2015: Seit ich diese Antwort vor Jahren geschrieben habe, hat sich taskwarrior in einem großartigen Projekt mit vielen Funktionen und Integrationen entwickelt. Unter meinen Lieblings gibt es:

Mehr taskwarrior Tools here.

+4

Es geht nicht um Tracking-Zeit, sondern um Tracking-Aufgaben, oder? – blueyed

+1

@blueyed - Ich verstehe nicht die Subtilität des Unterschieds. Mit TaskWarrior können Sie verfolgen, wie viel Zeit Sie für eine bestimmte Aufgabe aufwenden (Zeit-Tracker?) ... oder welchen Aufgaben Sie Ihre Aufgabe widmen (Task-Tracker?). Aber was ändert sich letztendlich? ... oder fehle ich etwas? – mac

+1

Ich habe darüber nachgedacht, TaskWarrior nur für das Task-Tracking zu verwenden (wo Sie einfach Aufgaben hinzufügen oder als erledigt markieren), aber nicht verfolgen, wenn Sie daran arbeiten. Dies könnte jedoch möglich sein ?! – blueyed

1

App :: Timetracker - die leicht erweiterbar befehlszeilenbasierte Zeiterfasser

~$ cd work/some_project 
~/work/some_project$ tracker start 
Started working on some_project at 13:06:20 
~/work/some_project$ # hack ... hack ... hack 
~/work/some_project$ tracker stop 
Worked 00:15:42 on some_project 

~/work/some_project$ cd ../other_project 
~/work/other_project$ tracker start 
Started working on other_project at 13:32:54 
~/work/other_project$ # hack some more 
~/work/other_project$ tracker current 
Working 00:35:31 on other_project 
Started at 13:32:54 

~/work/other_project$ tracker start --tag testing 
Worked 00:38:23 on other_project 
Started working on other_project (testing) at 14:11:27 
~/work/other_project$ # hack, then go for lunch 
~/work/other_project$ # ups, forgot to hit stop when I left 
~/work/other_project$ tracker stop --at 14:30 
Worked 00:18:33 on other_project (testing) 

~/work/other_project$ tracker report --this day 
work      01:12:38 
    some_project    00:15:42 
    other_project   00:56:56 
total     01:12:38 

Weitere Informationen auf der Website Autoren: http://timetracker.plix.at/

+0

verdammt slooooooow, aber großartig. – theist