forked from mrworf/iceshelf
-
Notifications
You must be signed in to change notification settings - Fork 1
/
iceshelf.sample.conf
executable file
·195 lines (189 loc) · 7.45 KB
/
iceshelf.sample.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# The sources section points out both files and folders that
# needs to be backed up. Wildcard is not allowed, tool will
# always recurse into directories.
#
[sources]
# Some extra paths needed by the tool.
# "prep dir" is used for temporary storage (creating archive, signing etc)
# "data dir" is used for storing information needed to track changes
# "done dir" is used for storing successfully backed up archives. Each backup is
# stored in its own folder. Note! It copies and then deletes,
# so needs extra space. Leave blank to disable.
#
[paths]
prep dir: backup/inprogress/
data dir: backup/metadata/
done dir: backup/done/
# Allows tweaking the tool
# "max size" sets an upper limit of the archive's uncompressed size. Note! If
# parity is enabled, max size is automaticallt restricted to 32GB or
# less due to limitations in PAR2
#
# NOTE! Due to the stage-by-stage nature of this tool, you should be
# aware that it will at times consume twice the space for temporary
# files. So while max size defines the max size of the content
# grabbed, it does not limit the end-result (which can vary, see
# security section) nor does it take temp files into account.
#
# "change method" determines how changes are detected. "data" uses sha1 of
# the data. You can also specify sha1, sha256 or sha512 explicityly
# depending on your needs. For most users, data (sha1) is enough
# and will also have the benefit of being fairly quick.
#
# "meta" is deprecated and will error out.
#
# "delta manifest" yes/no
#
# Allows you to store a copy of the files contained within the backup. This helps
# you locate that elusive file when in a pinch. The default for this option is "yes",
# if you prefer not to keep a manifest, then "no" will disable it.
#
# "compress" yes/no/force
#
# Normally yes, no disables and force ignores internal rules.
# Uses bzip2 compression.
#
# "persuasive" Normally no, but if yes, will try and fit as many files into the
# maxsize restriction, leaving some for another day. This results
# in a more uniform sized uploads, no data will ever be lost, it
# just will come at a later session. TODO
#
# "ignore overlimit" will cause iceshelf to return 0 even if files were skipped.
# However, if there are more files which WOULD fit, it will work
# as expected (ie, tell you to run it again).
#
# "incompressible" allows you to add additional extensions for files which won't
# compress very well. To add more than one, separate them using space.
# "max keep" allows you to automatically keep a max of X backups in the done folder.
# If done folder is undefined, this option has no effect. If the folder exists
# but this option is blank or zero, there is no limit (unlimited)
#
# "prefix" is optional, but when available defines a prefix to be added to all
# generated backup files (so you can store more than one backup in the same vault)
#
# "detect move" if true, a moved file will only result in the actual operation being
# backed up. This saves on data. ***EXPERIMENTAL SEE README.MD***
#
# "skip empty" if true, skips the backup if no changes are detected
#
# Example:
# "File_A" was renamed to "File_B" will cause the manifest to just log the move
#
# If the option is disabled, "File_B" will be backed up and "File_A" will be marked as
# deleted
#
[options]
max size:
change method: data
delta manifest: yes
compress: yes
persuasive: yes
ignore overlimit: no
incompressible:
max keep: 0
prefix:
detect move: no
skip empty: no
# Exclusion rules
# All rules are processed in the order they are defined, as soon as a rule
# matches, it will stop processing the rest.
#
# Rules are defined by <name>=<rule> where name can be whatever you want.
# rule without any special prefix is simply a textual match of the complete
# filename including the path. However, this can be extended by the following
# prefixes:
#
# *<rule> Matches from the end of the filename instead of start
# ?<rule> Matches any part of the filename
# ><rule> Tests the filesize, if bigger than <rule>, then it's excluded
# <<rule> Tests the filesize, if less than <rule>, the it's excluded
#
# |<file> Load a list of exclusions from <file> ... The format of the file
# is such that it omits the "<name>=" part of the syntax. Just the
# rules straight up with potential modifiers.
# With ONE exception, a loaded file cannot use the | prefix in the
# rules. This is to avoid unexpected relationships.
# Also consider that the order of the rules STILL apply, even when
# loading external files.
#
# There is also a special modifier which you can prefix the entire rule with.
# By adding an exclamationmark, you invert the rule. Now if it matches the
# content WILL be included. That allows for some snazzy rules such as:
#
# [exclude]
# alldocs=!*.doc
# no odd dirs=/some/odd/dir/
#
# In a structure like this:
# /some/
# /some/data.txt
# /some/todo.doc
# /some/odd/dir/
# /some/odd/dir/moredata.txt
# /some/odd/dir/readme.doc
#
# It will backup the following:
# /some/data.txt
# /some/todo.doc
# /some/odd/dir/readme.doc
#
# Notice how it snagged a file from inside an excluded folder? Pretty
# convenient. However, in order for this to work, you must consider the
# order of the rules. If you change the order to:
#
# [exclude]
# no odd dirs=/some/odd/dir/
# alldocs=!*.doc
#
# The "no odd dirs" would trigger first and the second rule would never get a
# chance to be evaluated. If you're having issues with the rules, consider
# running iceshelf with --changes and --debug to see what it's doing.
#
[exclude]
# Amazon Glacier settings.
#
# Iceshelf uses aws commandline tool for uploading the backups, so please make sure
# this command has been installed before using this option. See README.md for how.
#
# "vault" points out a nice vault to place the backups in. If the vault is
# missing, it will be created automatically.
# "threads" Number of threads to use when uploading, each thread responsible for
# a chunk of the file. This can greatly speed up uploads.
#
[glacier]
vault: A-really-good-name-for-where-you-keep-backups
threads: 4
# Run custom command before and/or after backup
#
# "pre command" is run before anything is done
# "post command" is run AFTER the archive is created but BEFORE glacier is used (if at all)
#
# The post command will be provided with the complete path and filename of the created files
# which may be one or more.
#
# If any of these commands return non-zero, it will cause the backup to abort.
#
# Using post command, you can easily adapt iceshelf to upload the result to another storage
# service (such as dropbox).
#
# Note! You cannot provide any arguments to these commands
#
[custom]
pre command:
post command:
# Security settings
# "encrypt" and "sign" points out a GPG identity (typical email address) to use
# for encryption and signatures. If they need a passphrase, use companion settings.
# "add parity" creates a parity file which can replace anywhere from 1 to 100%,
# 0 is off
#
# Encryption adds ~1% to the size of the archive, signature is has negligible
# impact on size. Parity roughly adds the percentage you define
# (on top of the encryption penalty)
#
[security]
encrypt:
encrypt phrase:
sign:
sign phrase:
add parity: 0