|
1 | 1 |  |
| 2 | + |
2 | 3 | [](https://codecov.io/gh/creativeprojects/resticprofile) |
3 | 4 |
|
4 | 5 | # resticprofile |
5 | 6 | Configuration profiles manager for [restic backup](https://restic.net/) |
6 | 7 |
|
7 | | -**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. |
8 | | - |
9 | | -With resticprofile: |
10 | | - |
11 | | -* You no longer need to remember command parameters and environment variables |
12 | | -* You can create multiple profiles inside one configuration file |
13 | | -* A profile can inherit all the options from another profile |
14 | | -* You can run the forget command before or after a backup (in a section called *retention*) |
15 | | -* You can check a repository before or after a backup |
16 | | -* You can create groups of profiles that will run sequentially |
17 | | -* You can run shell commands before or after running a profile: useful if you need to mount and unmount your backup disk for example |
18 | | -* You can run a shell command if an error occurred (at any time) |
19 | | -* You can send a backup stream via _stdin_ |
20 | | -* 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) |
21 | | -* 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) |
22 | | -* You can generate cryptographically secure random keys to use as a restic key file |
23 | | -* You can easily schedule backups, retentions and checks (works for *systemd*, *crond*, *launchd* and *windows task scheduler*) |
24 | | -* You can generate a simple status file to send to some monitoring software and make sure your backups are running fine |
25 | | -* You can use a template syntax in your configuration file |
26 | | -* You can generate scheduled tasks using *crond* |
27 | | -* Get backup statistics in your status file |
28 | | -* Automatically clear up stale locks |
29 | | -* Export a **prometheus** file after a backup, or send the report to a push gateway automatically |
30 | | -* Run shell commands in the background when non fatal errors are detected from restic |
31 | | -* Send messages to HTTP hooks before, after a successful or failed job (backup, forget, check, prune, copy) |
32 | | -* Automatically initialize the secondary repository using `copy-chunker-params` flag |
33 | | -* Send resticprofile logs to a syslog server |
34 | | -* Preventing your system from idle sleeping |
35 | | -* See the help from both restic and resticprofile via the `help` command or `-h` flag |
36 | | -* Don't schedule a job when the system is running on battery |
37 | | -* **[new for v0.29.0]** Scheduling a group of profiles (configuration `v2` only) |
| 8 | +**resticprofile** is the missing link between a configuration file and restic backup command line. |
| 9 | + |
| 10 | +## Features |
| 11 | + |
| 12 | +Here is a non-exhaustive list of what resticprofile offers: |
| 13 | + |
| 14 | +* **Profiles** |
| 15 | + * No need to remember command parameters and environment variables |
| 16 | + * Create multiple profiles in one configuration file |
| 17 | + * Profiles can inherit options from other profiles |
| 18 | + * Create groups of profiles to run sequentially |
| 19 | + * Easily schedule backups, retentions, and checks (supports *systemd*, *crond*, *launchd*, and *Windows Task Scheduler*) |
| 20 | + * Use template syntax in your configuration file |
| 21 | + * **[new for v0.29.0]** Schedule a group of profiles (configuration `v2` only) |
| 22 | +* **Automation** |
| 23 | + * Run the forget command before or after a backup (in a section called *retention*) |
| 24 | + * Check a repository before or after a backup |
| 25 | + * Run shell commands before or after running a profile, useful for mounting and unmounting backup disks |
| 26 | + * Run a shell command if an error occurs |
| 27 | + * Send a backup stream via _stdin_ |
| 28 | + * Start restic at different priorities (Priority Class in Windows, *nice* in Unix, and/or _ionice_ in Linux) |
| 29 | + * Automatically clear stale locks |
| 30 | +* **Monitoring** |
| 31 | + * Generate a simple status file for monitoring software to ensure backups are running smoothly |
| 32 | + * Export a prometheus file after a backup or send the report to a push gateway |
| 33 | + * Run shell commands in the background when non-fatal errors are detected |
| 34 | + * Send messages to HTTP hooks before, after a successful or failed job (backup, forget, check, prune, copy) |
| 35 | + * Send resticprofile logs to a syslog server |
| 36 | +* **Checks** |
| 37 | + * Check for enough memory before starting a backup |
| 38 | + * Avoid scheduling a job when the system is on battery |
| 39 | +* **Misc** |
| 40 | + * Generate cryptographically secure random keys for a restic key file |
| 41 | + * Automatically initialize the secondary repository using the `copy-chunker-params` flag |
| 42 | + * Prevent the system from idle sleeping |
| 43 | + * View help for both restic and resticprofile via the `help` command or `-h` flag |
| 44 | + |
| 45 | +## Configuration files |
38 | 46 |
|
39 | 47 | The configuration file accepts various formats: |
40 | | -* [TOML](https://github.com/toml-lang/toml) : configuration file with extension _.toml_ and _.conf_ to keep compatibility with versions before 0.6.0 |
| 48 | +* [TOML](https://github.com/toml-lang/toml) : configuration file with extension _.toml_ or _.conf_ |
41 | 49 | * [JSON](https://en.wikipedia.org/wiki/JSON) : configuration file with extension _.json_ |
42 | 50 | * [YAML](https://en.wikipedia.org/wiki/YAML) : configuration file with extension _.yaml_ |
43 | 51 | * [HCL](https://github.com/hashicorp/hcl): configuration file with extension _.hcl_ |
44 | 52 |
|
45 | 53 |
|
46 | | - |
47 | | -<!--ts--> |
48 | | - |
49 | | -<!--te--> |
| 54 | +## Getting started |
50 | 55 |
|
51 | 56 | We recommend you start by reading the [getting started](https://creativeprojects.github.io/resticprofile/configuration/getting_started/index.html) section |
52 | 57 |
|
53 | | -# Using resticprofile |
| 58 | +## Using resticprofile |
54 | 59 |
|
55 | 60 | The full documentation has been moved to [creativeprojects.github.io](https://creativeprojects.github.io/resticprofile/) |
56 | 61 |
|
57 | | -# Survey |
| 62 | +## Survey |
58 | 63 |
|
59 | 64 | What are your most important features? |
60 | 65 | Please fill in the [survey](https://github.com/creativeprojects/resticprofile/issues/415) |
|
0 commit comments