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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab64a700a65757ce44570c0c01e0f2731e2328d820ad77d5511dbffa0bc8c388
|
|
| MD5 |
2dc0a666419a59983f9b2203a932107f
|
|
| BLAKE2b-256 |
af23f4238eecf19eafbc897d6c7b25d5d9d14df0340b5ba5c07100f953483deb
|
File details
Details for the file rewind_timeline-0.1.3-py3-none-any.whl.
File metadata
- Download URL: rewind_timeline-0.1.3-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05f62cbd8322f2d9d81a0e083d9308912bf7b2b6213695dbc08db04aa0888f07
|
|
| MD5 |
70dc3a7a71f865757cd529c907d05c7b
|
|
| BLAKE2b-256 |
70dc27ee77eb32e3c833897a01005d00563f4ff71305249a0c9b07343a19367b
|