Skip to content
This repository has been archived by the owner on Jun 12, 2020. It is now read-only.

Option to use files for in|exclusion patterns to fix "Error: command too long" #63

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ilya-lesikov
Copy link

We only could include/exclude files from backup by passing them to the
restic binary as an option inline in restic_repos.command.
When the number of in/exclude patterns grows, executed command in cron file
truncated at 999th symbol with error message "Error: command too long":
https://serverfault.com/questions/546342/crontab-maximum-command-length/736010#736010

This PR allows specifying include/exclude files with their contents in
defaults/main.yml, then these files will be created in tasks/install.yml.
Then you can reference these files in your restic_repos.command like this:

restic --files-from {{ restic_config_path }}/includes \
  --exclude-file {{ restic_config_path }}/excludes backup

It will make the command executed by cron daemon much shorter thus avoiding
999 symbols problem.

We only could include/exclude files from backup by passing them to the
restic binary as an option inline in `restic_repos.command`.
When the number of in/exclude patterns grows, executed command in cron file
truncated at 999th symbol with error message "Error: command too long":

https://serverfault.com/questions/546342/crontab-maximum-command-length/736010#736010

This PR allows specifying include/exclude files with their contents in
`defaults/main.yml`, then these files will be created in `tasks/install.yml`.
Then you can reference these files in your `restic_repos.command` like this:

restic --files-from {{ restic_config_path }}/includes \
  --exclude-file {{ restic_config_path }}/excludes backup

It will make the command executed by cron daemon much shorter thus avoiding
999 symbols problem.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant