Alright, this system needs to be robust and easy to use. I shouldn't have to do ANYTHING extra to use this 2 ways to do it Have a file for each day and clock in and out have a master log and parse the log parsing the log seems significantly easier File name can be generic because it gets cleaned as part of an accumulation script i.e. timesheet.log Everytime a user logs in echo I, DATE, TIME to the file A logout or i3lock echos O, DATE, TIME to the same file can be dead simple as far as the logging goes clock -i to clock in clock -o to clock out Parser will have to be a bit more robust hell with a parser, I have a better system. Steps 1) On login echo date, start time >> to a csv 2) On logout echo end time, total uptime \n to same csv Ending format: Date, Time in, Time out, Total 11/11, 11:00, 12:00, 1 3) On every wednesday mv to a non-temp file for tracking and destroy csv notes) - Should be robust as hell as it will log entries into a seperate entry for the same date which can be compressed manually - Column -s -t ',' < csv should make for easy viewing in terminal - should be deadsimple to implement a way to track pay periods or modifyed command for entries