Time Logger
Time Logger v2.0.0 — a sysops toolkit for logging, monitoring, and managing system operations from the command line. All data is stored locally in flat log files with timestamps, making it easy to review history, export records, and search across entries.
Commands
Run scripts/script.sh <command> [args] to use.
Core Operations
| Command |
Description |
scan <input> |
Log a scan entry (e.g. system scans, resource discovery) |
monitor <input> |
Log a monitor entry (e.g. uptime monitoring, service checks) |
report <input> |
Log a report entry (e.g. daily/weekly summaries, incident reports) |
alert <input> |
Log an alert entry (e.g. threshold alerts, anomaly warnings) |
top <input> |
Log a top entry (e.g. top resource consumers, peak usage) |
usage <input> |
Log a usage entry (e.g. CPU/memory/disk usage snapshots) |
check <input> |
Log a check entry (e.g. health checks, verification results) |
fix <input> |
Log a fix entry (e.g. applied patches, resolved issues) |
cleanup <input> |
Log a cleanup entry (e.g. temp file removal, log rotation) |
backup <input> |
Log a backup entry (e.g. backup runs, snapshot records) |
restore <input> |
Log a restore entry (e.g. recovery operations, data restores) |
log <input> |
Log a generic log entry (e.g. free-form notes, misc events) |
benchmark <input> |
Log a benchmark entry (e.g. performance baselines, load tests) |
compare <input> |
Log a compare entry (e.g. before/after comparisons, diff results) |
Each command without arguments shows the 20 most recent entries for that category.
Utility Commands
| Command |
Description |
stats |
Summary statistics across all log categories with entry counts and disk usage |
export <fmt> |
Export all data in json, csv, or txt format |
search <term> |
Search across all log files for a keyword (case-insensitive) |
recent |
Show the 20 most recent entries from the global activity history |
status |
Health check — version, data directory, total entries, disk usage, last activity |
help |
Show full usage information |
version |
Show version string (time-logger v2.0.0) |
Data Storage
All data is persisted locally under ~/.local/share/time-logger/:
<command>.log — One log file per command (e.g. scan.log, monitor.log, backup.log)
history.log — Global activity log with timestamps for every operation
export.<fmt> — Generated export files (json/csv/txt)
Each entry is stored as YYYY-MM-DD HH:MM|<input> (pipe-delimited). No external services, no API keys, no network calls — everything stays on your machine.
Requirements
- Bash 4.0+ with
set -euo pipefail
- Standard Unix utilities:
date, wc, du, grep, tail, cat, sed, basename
- No external dependencies or packages required
- No API keys or accounts needed
When to Use
- Tracking system operations — Log scans, monitors, and health checks to build a searchable history of your sysops activities
- Recording incident response — Use
alert, fix, and restore to document the lifecycle of an incident from detection through resolution
- Auditing maintenance tasks — Track
cleanup, backup, and restore operations so you can prove compliance and trace back when actions occurred
- Benchmarking and comparing — Use
benchmark and compare to record performance baselines and before/after results across system changes
- Generating ops reports — Use
report to log periodic summaries, then export json to pull structured data for dashboards or handoffs
Examples
# Log a system scan
time-logger scan "Full port scan on 192.168.1.0/24 — 12 hosts found"
# Record a monitoring event
time-logger monitor "nginx upstream response time spiked to 2.3s"
# Log an alert
time-logger alert "Disk usage on /var exceeded 90% threshold"
# Record a fix applied
time-logger fix "Rotated nginx logs and freed 4.2GB on /var"
# Search for all entries mentioning 'nginx'
time-logger search nginx
# Export everything to JSON
time-logger export json
# View summary statistics
time-logger stats
# Check recent activity
time-logger recent
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com
1---2name: time-logger3description: Log time entries and see where your hours go each day. Use when scanning hours, monitoring totals, reporting summaries, ranking categories.4---5
6# Time Logger
7
8Time Logger v2.0.0 — a sysops toolkit for logging, monitoring, and managing system operations from the command line. All data is stored locally in flat log files with timestamps, making it easy to review history, export records, and search across entries.
9
10## Commands
11
12Run `scripts/script.sh <command> [args]` to use.
13
14### Core Operations
15
16| Command | Description |
17|---------|-------------|
18| `scan <input>` | Log a scan entry (e.g. system scans, resource discovery) |
19| `monitor <input>` | Log a monitor entry (e.g. uptime monitoring, service checks) |
20| `report <input>` | Log a report entry (e.g. daily/weekly summaries, incident reports) |
21| `alert <input>` | Log an alert entry (e.g. threshold alerts, anomaly warnings) |
22| `top <input>` | Log a top entry (e.g. top resource consumers, peak usage) |
23| `usage <input>` | Log a usage entry (e.g. CPU/memory/disk usage snapshots) |
24| `check <input>` | Log a check entry (e.g. health checks, verification results) |
25| `fix <input>` | Log a fix entry (e.g. applied patches, resolved issues) |
26| `cleanup <input>` | Log a cleanup entry (e.g. temp file removal, log rotation) |
27| `backup <input>` | Log a backup entry (e.g. backup runs, snapshot records) |
28| `restore <input>` | Log a restore entry (e.g. recovery operations, data restores) |
29| `log <input>` | Log a generic log entry (e.g. free-form notes, misc events) |
30| `benchmark <input>` | Log a benchmark entry (e.g. performance baselines, load tests) |
31| `compare <input>` | Log a compare entry (e.g. before/after comparisons, diff results) |
32
33Each command without arguments shows the 20 most recent entries for that category.
34
35### Utility Commands
36
37| Command | Description |
38|---------|-------------|
39| `stats` | Summary statistics across all log categories with entry counts and disk usage |
40| `export <fmt>` | Export all data in `json`, `csv`, or `txt` format |
41| `search <term>` | Search across all log files for a keyword (case-insensitive) |
42| `recent` | Show the 20 most recent entries from the global activity history |
43| `status` | Health check — version, data directory, total entries, disk usage, last activity |
44| `help` | Show full usage information |
45| `version` | Show version string (`time-logger v2.0.0`) |
46
47## Data Storage
48
49All data is persisted locally under `~/.local/share/time-logger/`:
50
51- **`<command>.log`** — One log file per command (e.g. `scan.log`, `monitor.log`, `backup.log`)
52- **`history.log`** — Global activity log with timestamps for every operation
53- **`export.<fmt>`** — Generated export files (json/csv/txt)
54
55Each entry is stored as `YYYY-MM-DD HH:MM|<input>` (pipe-delimited). No external services, no API keys, no network calls — everything stays on your machine.
56
57## Requirements
58
59- **Bash** 4.0+ with `set -euo pipefail`
60- Standard Unix utilities: `date`, `wc`, `du`, `grep`, `tail`, `cat`, `sed`, `basename`
61- No external dependencies or packages required
62- No API keys or accounts needed
63
64## When to Use
65
661. **Tracking system operations** — Log scans, monitors, and health checks to build a searchable history of your sysops activities
672. **Recording incident response** — Use `alert`, `fix`, and `restore` to document the lifecycle of an incident from detection through resolution
683. **Auditing maintenance tasks** — Track `cleanup`, `backup`, and `restore` operations so you can prove compliance and trace back when actions occurred
694. **Benchmarking and comparing** — Use `benchmark` and `compare` to record performance baselines and before/after results across system changes
705. **Generating ops reports** — Use `report` to log periodic summaries, then `export json` to pull structured data for dashboards or handoffs
71
72## Examples
73
74```bash
75# Log a system scan
76time-logger scan "Full port scan on 192.168.1.0/24 — 12 hosts found"
77
78# Record a monitoring event
79time-logger monitor "nginx upstream response time spiked to 2.3s"
80
81# Log an alert
82time-logger alert "Disk usage on /var exceeded 90% threshold"
83
84# Record a fix applied
85time-logger fix "Rotated nginx logs and freed 4.2GB on /var"
86
87# Search for all entries mentioning 'nginx'
88time-logger search nginx
89
90# Export everything to JSON
91time-logger export json
92
93# View summary statistics
94time-logger stats
95
96# Check recent activity
97time-logger recent
98```
99
100---
101
102Powered by BytesAgain | bytesagain.com | hello@bytesagain.com