{"id":22447202,"url":"https://github.com/clabe45/detimer","last_synced_at":"2025-07-08T10:11:25.351Z","repository":{"id":57130378,"uuid":"479189981","full_name":"clabe45/detimer","owner":"clabe45","description":"Supercharged rdiff-backup wrapper","archived":false,"fork":false,"pushed_at":"2023-04-30T23:29:25.000Z","size":100,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-31T08:33:24.423Z","etag":null,"topics":["backup","rdiff-backup"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clabe45.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-08T00:23:19.000Z","updated_at":"2023-01-21T16:44:49.000Z","dependencies_parsed_at":"2023-02-11T23:16:12.458Z","dependency_job_id":null,"html_url":"https://github.com/clabe45/detimer","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/clabe45/detimer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clabe45%2Fdetimer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clabe45%2Fdetimer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clabe45%2Fdetimer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clabe45%2Fdetimer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clabe45","download_url":"https://codeload.github.com/clabe45/detimer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clabe45%2Fdetimer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264000584,"owners_count":23542108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","rdiff-backup"],"created_at":"2024-12-06T04:15:12.043Z","updated_at":"2025-07-08T10:11:25.318Z","avatar_url":"https://github.com/clabe45.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Detimer\n\nDetimer is a backup manager that allows you to easily configure backups in a\nyaml file and run them. It uses [rdiff-backup](https://rdiff-backup.net) to\nperform reverse differential backups.\n\n:warning: **This project is still in early development and is not ready for\nproduction use.**\n\n## Features\n\n- [x] Configure backup tasks in a yaml file\n- [x] Create backups\n- [x] Compression of backup files and transfer over SSH (provided by\n      rdiff-backup)\n- [ ] Restore backups\n- [ ] List backups\n- [ ] Delete backups\n- [ ] Schedule backups\n\n## Overview\n\nA **root** is a backup task, including information such as the directory to back\nup, where to store it and exclusion rules.\n\n## Installation\n\nYou will need\n[rdiff-backup](https://github.com/rdiff-backup/rdiff-backup/releases) installed.\nThen you can install detimer:\n\n```\npip install detimer\n```\n\n## Usage\n\n```sh\n$ detimer -h\nUsage: detimer [OPTIONS] COMMAND [ARGS]...\n\n  Simple backup manager\n\nOptions:\n  -V, --version  Show the version and exit.\n  -h, --help     Show this message and exit.\n\nCommands:\n  backup  Backup specified roots\n  list    List all roots\n```\n\n## Configuration\n\nTo add a root, edit `config.yml` in:\n- OS X: **~/Library/Application Support/Detimer**\n- Unix: **~/.config/detimer**\n- Windows: **%USERPROFILE%\\AppData\\Roaming\\Detimer**\n\nEach root can have the following properties:\n- `name` (required) - Name of the root\n- `src` (required) - Absolute path of the source directory\n- `dest` (required) - Absolute path of the destination directory\n- `special_files` - How to handle special files (e.g. symlinks, devices, etc.)\n  - `detect` - Let rdiff-backup decide based on the OS (default)\n  - `include` - Include special files in the backup\n  - `exclude` - Exclude special files from the backup\n- `match` - Inclusion/exclusion rules. Patterns starting with `-` are excluded,\n  and patterns starting with `+` are force-included. Any inclusion lines must\n  precede their corresponding exclusion lines (see the example below).\n\n**Example**:\n\n```yml\nroots:\n  - name: mega\n    src: /home/USER\n    dest: /mega/backups\n    special_files: exclude  # detect|include|exclude\n    match: |\n      - Downloads\n      - **/node_modules\n      + another-excluded-dir/except-this-file\n      - another-excluded-dir\n```\n\n## Contributing\n\nPull Requests are welcome! Please open an issue before making major changes.\nAdditionally, we use\n[conventional commits](https://www.conventionalcommits.org/en/v1.0.0/).\n\n## License\n\nLicensed under [GNU GPLv3](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclabe45%2Fdetimer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclabe45%2Fdetimer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclabe45%2Fdetimer/lists"}