Rireki 
CLI backup tool. Schedule backups and keep your precious data safe.
Installation
Install the rireki cli running the following command:
pip install rireki
You need to call rireki backup in order for backups to be performed, and rireki clean to perform clean up. For example, you could use the following crontab configuration to perform backup checks every hour:
0 * * * * rireki backup --timestamps >> /var/log/cron-rireki.log 2>> /var/log/cron-rireki.log
10 7 * * * rireki clean --timestamps >> /var/log/cron-rireki.log 2>> /var/log/cron-rireki.log
Note: Make sure that the crontab can execute the rireki command. That will depend on how you installed the package and which crontab you configure. Also keep in mind that by default the command will read the projects from the home folder of the current user. This can be overriden by setting the RIREKI_HOME environment variable. Also make sure that the /var/log/cron-rireki.log file exists and is writable by the crontab user.
Usage
Get detailed information running rireki --help.
There are three core concepts on how rireki manages backups:
-
Projects: A project is something you want to back up. For example a website database or a collection of files.
-
Drivers: A driver is the program used to create the backup files. For example zipping up a folder or dumping a database.
-
Stores: A store is the program used to save the backup files created with a driver. For example copying them to a local folder or uploading them to a 3rd party service.
In order to install a new project to backup, a configuration file can be added to ~/.rireki/projects/{project-name}.conf. This will be a toml configuration file. It can either be created manually or calling rireki add {project-name}.
Additionally, projects can have the following configurations:
| property | type | description |
|---|---|---|
| name | string |
Name of the project. |
| last_backups_retention | integer |
Number of newest backups to retain on cleanup (defaults to 7). |
| year_backups_retention | `"monthly" | "weekly" |
| ancient_backups_retention | `"yearly" | "monthly" |
Drivers
Files
This driver creates an archive with files copied from the local filesystem. The archive will be a zip file if possible or a tar file.
It needs the following configuration:
| property | type | description |
|---|---|---|
| name | "files" |
The name of the driver. |
| frequency | integer |
The frequency in minutes at which new backups should be made. |
| paths | string[] |
Folders or files that will be included in the archive. |
Custom
This driver can be used if backing up a project is not supported by any of the other drivers. It consists of a custom script that will be called to generate the backup artifacts. The backup files should be placed on a path indicated by the RIREKI_BACKUP_PATH env variable.
Once the script has completed, a file named logs.json will also be placed on the path with the standard output and standard error printed by the script.
It needs the following configuration:
| property | type | description |
|---|---|---|
| name | "custom" |
The name of the driver. |
| frequency | integer |
The frequency in minutes at which new backups should be made. |
| command | string |
Command to call in order to perform backups. |
| timeout | integer |
Number of seconds where the command will be timed out and the backup will fail. |
Stores
Local
This store copies the backups to a folder in the same filesystem.
It needs the following configuration:
| property | type | description |
|---|---|---|
| name | "local" |
The name of the store. |
| path | string |
The path of the folder where the backups will be copied. |
An example config file
For example, to backup a project named "Foobar" using the files driver and the local store we would create the following file at ~/.rireki/projects/foobar.conf:
name="foobar"
[driver]
name="files"
paths=["/path/to/data/folder"]
frequency=1440
[store]
name="local"
path="/path/to/backups/folder"
As mentioned before, you could call rireki add foobar to create this file.
Development
Run tests with pytest and lint your code with flake8 (see the Github Actions configuration for more details).
Metadata
Release files for rireki 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rireki-0.2.0.tar.gz | 14.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rireki-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.4 kB
Release files / rireki-0.2.0.tar.gz
| Download URL | rireki-0.2.0.tar.gz |
|---|---|
| Size | 14.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9169f6a642ab9d8e2ea7d7c09f6ef1e79c07e29f02774e9cc84bd6827818bdf3
|
|
BLAKE2b-256 checksum How to use checksums |
286b475341f7ea9b95ef611d409cf4e656afc99241a6147e26dcc118f3162e5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logRelease files / rireki-0.2.0-py3-none-any.whl
| Download URL | rireki-0.2.0-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f170eef45fc85f6f4de80fa1838b7580b582ff0f34378647dbcef0f876d6209
|
|
BLAKE2b-256 checksum How to use checksums |
f533deb47dd1c0fab83ae6d192fbe5ba33d8ca4bad62fbc9072c354e499c4308
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency log