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.2.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.2-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rewind_timeline-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 98cfa52c0be5918a833b008742866ee1607c8079311e2213d1ef20f5dac6074d
MD5 1d65cc4cc3ed4f55b73b70f080cdce12
BLAKE2b-256 39c202c85a707390e33edf4e419e3d64016590c4974ed26c9d8f2021c82a5295

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rewind_timeline-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9e4168e8e132640d55ce430f7a831bb00af2ec91410e5ca7c3ccc679255d6019
MD5 c07db9b0e9bdf6ce5d860c1f62bd1ce6
BLAKE2b-256 c060a55fc56c14364b2c697ec486765d94d42fed347e73ce83fe1279a0786911

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