mirror of
https://github.com/restic/restic.git
synced 2025-12-08 06:09:56 +00:00
The intended usage here is to basically kick restic as a background "do it, but don't bother my normal load" process. This allows passing the following environment variables in to influence scheduling: - NICE: usual CPU nice. Defaults to 0. This requires CAP_SYS_NICE to set a negative nice (IE, prioritize). - IONICE_CLASS: usual ionice class. Note that setting realtime requires CAP_SYS_ADMIN. Also note the actual ionice default is "none". - IONICE_PRIORITY: set the priority within the given class. Ignored if no class is specified due to class default of "no scheduler". --------- Signed-off-by: Brian Harring <ferringb@gmail.com> Co-authored-by: Michael Eischer <michael.eischer@fau.de>
10 lines
338 B
Bash
Executable file
10 lines
338 B
Bash
Executable file
#!/bin/sh -e
|
|
|
|
# This must be tested against busybox sh, since there are quirks in its
|
|
# implementation of tooling. Busybox rejects `ionice -c0 -n<something>` for example.
|
|
set -- /usr/bin/restic "$@"
|
|
if [ -n "${IONICE_CLASS}" ]; then
|
|
set -- ionice -c "${IONICE_CLASS}" -n "${IONICE_PRIORITY:-4}" "$@"
|
|
fi
|
|
|
|
exec nice -n "${NICE:-0}" "$@"
|