Skip to main content

Linux timeline collector and monitoring tool

Project description

Rewind

Rewind is a Linux Time Machine that records important system events and allows users to revisit what happened on their machine.

It helps answer questions such as:

  • What changed yesterday?
  • Why did my system become slow?
  • Which package was installed?
  • Which service stopped?
  • What commands did I run?
  • Which files were modified?

Rewind stores these events locally in a SQLite database and provides a simple command-line interface for exploring the system timeline.


Features

  • Package monitoring (Pacman support)
  • Service monitoring
  • Performance monitoring
  • Shell history tracking
  • File change monitoring
  • Timeline search
  • Daily activity reports
  • System statistics

Project Structure

rewind/
├── collect.py
├── rewind.py
├── database.py
│
├── collectors/
│   ├── files.py
│   ├── packages.py
│   ├── performance.py
│   ├── services.py
│   └── shell.py
│
├── commands/
│   ├── search.py
│   ├── stats.py
│   ├── today.py
│   └── yesterday.py
│
└── rewind.db

Requirements

  • Python 3.10+
  • Linux
  • systemd
  • SQLite

Install dependencies:

pip install psutil watchdog

Running the Collector

The collector continuously monitors the system and stores events.

python collect.py

The collector records:

  • package changes
  • service state changes
  • performance alerts
  • shell history
  • file modifications

Commands

View today's events

python rewind.py today

View yesterday's events

python rewind.py yesterday

Search the timeline

python rewind.py search nginx

View statistics

python rewind.py stats

Show help

python rewind.py help

Example

$ python rewind.py today

Rewind - 2026-06-27

[08:32:10] [PACKAGE] Installed nginx
[09:15:22] [FILE] Modified /etc/ssh/sshd_config
[11:10:33] [PERFORMANCE] CPU usage reached 95%
[13:00:17] [SERVICE] nginx.service restarted
[13:01:55] [SHELL] sudo systemctl restart nginx

Database

Rewind stores events inside a local SQLite database.

Location:

~/.rewind.db

Schema:

CREATE TABLE events (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    timestamp TEXT NOT NULL,
    category TEXT NOT NULL,
    title TEXT NOT NULL,
    details TEXT
);

Current Collectors

Package Collector

Parses:

/var/log/pacman.log

Tracks:

  • installed packages
  • removed packages
  • upgraded packages

Service Collector

Uses:

systemctl

Tracks:

  • started services
  • stopped services
  • restarted services
  • failed services

Performance Collector

Monitors:

  • CPU usage
  • memory usage
  • disk usage

Shell Collector

Reads:

~/.bash_history

Tracks executed commands.


File Collector

Uses:

watchdog

Tracks:

  • created files
  • modified files
  • deleted files

Roadmap

  • systemd service support
  • daemon mode
  • multi-distribution package support
  • export reports
  • weekly summaries
  • interactive TUI
  • notifications
  • command learning mode
  • performance history graphs

License

MIT License


Author

Created by DarkGlitch.

Rewind aims to become a personal timeline for Linux systems.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rewind_timeline-0.1.1.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rewind_timeline-0.1.1-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file rewind_timeline-0.1.1.tar.gz.

File metadata

  • Download URL: rewind_timeline-0.1.1.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for rewind_timeline-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2d80e7f3817271be03800223496323564b02f4016f35d6872472f8e002c8b620
MD5 5e496ed361fc04e5d29fafa32e57695b
BLAKE2b-256 c932d76b32c4b5a7a8e4315d69d4aa04b6e52400b801690b44b8153654c598d7

See more details on using hashes here.

File details

Details for the file rewind_timeline-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rewind_timeline-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 36148ad48188d03411d53ec9dcca498a03ba4878586b9137ce5361aa12a83be9
MD5 15cb9b81ef1aa94462c3546e7bab41a0
BLAKE2b-256 6377ba507cdef023f3932734caa4107c9e2aaec9b85abd552b180b1e5cb4fe99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page