{"id":13492201,"url":"https://github.com/creativeprojects/resticprofile","last_synced_at":"2026-04-04T14:02:56.407Z","repository":{"id":34977142,"uuid":"191428266","full_name":"creativeprojects/resticprofile","owner":"creativeprojects","description":"Configuration profiles manager and scheduler for restic backup","archived":false,"fork":false,"pushed_at":"2025-05-05T20:36:24.000Z","size":33200,"stargazers_count":915,"open_issues_count":83,"forks_count":34,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-05T20:43:27.343Z","etag":null,"topics":["ansible","backup","backup-tool","backups","configuration","configuration-profiles","cron","crond","grafana","launchd","profiles","prometheus","restic","restic-backup","schedule-backups","systemd","task-scheduler"],"latest_commit_sha":null,"homepage":"https://creativeprojects.github.io/resticprofile/","language":"Go","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/creativeprojects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"creativeprojects"}},"created_at":"2019-06-11T18:24:26.000Z","updated_at":"2025-05-05T20:36:28.000Z","dependencies_parsed_at":"2024-01-13T21:41:23.403Z","dependency_job_id":"3f356048-9b79-4ece-8106-fd6fe367178b","html_url":"https://github.com/creativeprojects/resticprofile","commit_stats":{"total_commits":765,"total_committers":23,"mean_commits":33.26086956521739,"dds":"0.43790849673202614","last_synced_commit":"62f311814f0f1e034942f3bf6a95dff3590597e3"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativeprojects%2Fresticprofile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativeprojects%2Fresticprofile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativeprojects%2Fresticprofile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativeprojects%2Fresticprofile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/creativeprojects","download_url":"https://codeload.github.com/creativeprojects/resticprofile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149960,"owners_count":22022851,"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":["ansible","backup","backup-tool","backups","configuration","configuration-profiles","cron","crond","grafana","launchd","profiles","prometheus","restic","restic-backup","schedule-backups","systemd","task-scheduler"],"created_at":"2024-07-31T19:01:03.970Z","updated_at":"2026-04-04T14:02:56.356Z","avatar_url":"https://github.com/creativeprojects.png","language":"Go","funding_links":["https://github.com/sponsors/creativeprojects"],"categories":["Go","Backup","Wrappers"],"sub_categories":[],"readme":"![Build](https://github.com/creativeprojects/resticprofile/workflows/Build/badge.svg)\n[![codecov](https://codecov.io/gh/creativeprojects/resticprofile/branch/master/graph/badge.svg?token=cUozgF9j4I)](https://codecov.io/gh/creativeprojects/resticprofile)\n\n# resticprofile\nConfiguration profiles manager for [restic backup](https://restic.net/)\n\n**resticprofile** is the missing link between a configuration file and restic backup. Creating a configuration file for restic has been [discussed before](https://github.com/restic/restic/issues/16), but seems to be a very low priority right now.\n\nWith resticprofile:\n\n* You no longer need to remember command parameters and environment variables\n* You can create multiple profiles inside one configuration file\n* A profile can inherit all the options from another profile\n* You can run the forget command before or after a backup (in a section called *retention*)\n* You can check a repository before or after a backup\n* You can create groups of profiles that will run sequentially\n* You can run shell commands before or after running a profile: useful if you need to mount and unmount your backup disk for example\n* You can run a shell command if an error occurred (at any time)\n* You can send a backup stream via _stdin_\n* You can start restic at a lower or higher priority (Priority Class in Windows, *nice* in all unixes) and/or _ionice_ (only available on Linux)\n* It can check that you have enough memory before starting a backup. (I've had some backups that literally killed a server with swap disabled)\n* You can generate cryptographically secure random keys to use as a restic key file\n* You can easily schedule backups, retentions and checks (works for *systemd*, *crond*, *launchd* and *windows task scheduler*)\n* You can generate a simple status file to send to some monitoring software and make sure your backups are running fine \n* You can use a template syntax in your configuration file\n* You can generate scheduled tasks using *crond*\n* Get backup statistics in your status file\n* Automatically clear up stale locks\n* Export a **prometheus** file after a backup, or send the report to a push gateway automatically\n* Run shell commands in the background when non fatal errors are detected from restic\n* Send messages to HTTP hooks before, after a successful or failed job (backup, forget, check, prune, copy)\n* Automatically initialize the secondary repository using `copy-chunker-params` flag\n* Send resticprofile logs to a syslog server\n* Preventing your system from idle sleeping\n* See the help from both restic and resticprofile via the `help` command or `-h` flag\n* Don't schedule a job when the system is running on battery\n* **[new for v0.29.0]** Scheduling a group of profiles (configuration `v2` only)\n\nThe configuration file accepts various formats:\n* [TOML](https://github.com/toml-lang/toml) : configuration file with extension _.toml_ and _.conf_ to keep compatibility with versions before 0.6.0\n* [JSON](https://en.wikipedia.org/wiki/JSON) : configuration file with extension _.json_\n* [YAML](https://en.wikipedia.org/wiki/YAML) : configuration file with extension _.yaml_\n* [HCL](https://github.com/hashicorp/hcl): configuration file with extension _.hcl_\n\n\n\n\u003c!--ts--\u003e\n\n\u003c!--te--\u003e\n\nWe recommend you start by reading the [getting started](https://creativeprojects.github.io/resticprofile/configuration/getting_started/index.html) section\n\n# Using resticprofile\n\nThe full documentation has been moved to [creativeprojects.github.io](https://creativeprojects.github.io/resticprofile/)\n\n# Survey\n\nWhat are your most important features?\nPlease fill in the [survey](https://github.com/creativeprojects/resticprofile/issues/415)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreativeprojects%2Fresticprofile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreativeprojects%2Fresticprofile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreativeprojects%2Fresticprofile/lists"}