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.0.tar.gz (10.4 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.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rewind_timeline-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 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.0.tar.gz
Algorithm Hash digest
SHA256 bc9781ba26401ae695b5a125ea1cd391d104690e0d80c689b96e3b4bec15acdc
MD5 313e191c4b913853868d442c9c0d7a91
BLAKE2b-256 623672e91053253be22484cbb979117d38b0b74fedfbfcf5c629d0775037ca44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rewind_timeline-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d620ef675808c4b6c4d34a3bda6db710332fdedbd30d8f6f496c95fd4466d7f
MD5 c3d399e71f00fa1ae43a7efd8479077c
BLAKE2b-256 5e6ec73a1328725c289101cd25f022a9caad4bd418a8870be9e5c3660163550e

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