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.3.tar.gz (10.0 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.3-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rewind_timeline-0.1.3.tar.gz
  • Upload date:
  • Size: 10.0 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.3.tar.gz
Algorithm Hash digest
SHA256 ab64a700a65757ce44570c0c01e0f2731e2328d820ad77d5511dbffa0bc8c388
MD5 2dc0a666419a59983f9b2203a932107f
BLAKE2b-256 af23f4238eecf19eafbc897d6c7b25d5d9d14df0340b5ba5c07100f953483deb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rewind_timeline-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 05f62cbd8322f2d9d81a0e083d9308912bf7b2b6213695dbc08db04aa0888f07
MD5 70dc3a7a71f865757cd529c907d05c7b
BLAKE2b-256 70dc27ee77eb32e3c833897a01005d00563f4ff71305249a0c9b07343a19367b

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