1backintime-config(1) USER COMMANDS backintime-config(1)
2
3
4
6 config - BackInTime configuration files.
7
9 ~/.config/backintime/config
10 /etc/backintime/config
11
13 Back In Time was developed as pure GUI program and so most functions
14 are only useable with backintime-qt. But it is possible to use Back In
15 Time e.g. on a headless server. You have to create the configuration
16 file (~/.config/backintime/config) manually. Look inside
17 /usr/share/doc/backintime-common/examples/ for examples.
18
19 The configuration file has the following format:
20 keyword=arguments
21
22 Arguments don't need to be quoted. All characters are allowed except
23 '='.
24
25 Run 'backintime check-config' to verify the configfile, create the
26 snapshot folder and crontab entries.
27
29 config.version
30 Type: int Allowed Values: 0-99999
31
32
33 Default: 6
34
35
36 global.hash_collision
37 Type: int Allowed Values: 0-99999
38 Internal value used to prevent hash collisions on mountpoints. Do
39 not change this.
40
41 Default: 0
42
43
44 global.use_flock
45 Type: bool Allowed Values: true|false
46 Prevent multiple snapshots (from different profiles or users) to
47 be run at the same time
48
49 Default: false
50
51
52 profile<N>.name
53 Type: str Allowed Values: text
54 Name of this profile.
55
56 Default: Main profile
57
58
59 profile<N>.schedule.custom_time
60 Type: str Allowed Values: comma separated int (8,12,18,23)
61 or */3
62 Custom hours for cronjob. Only valid for profile<N>.schedule.mode
63 = 19
64
65 Default: 8,12,18,23
66
67
68 profile<N>.schedule.day
69 Type: int Allowed Values: 1-28
70 Which day of month the cronjob should run? Only valid for pro‐
71 file<N>.schedule.mode >= 40
72
73 Default: 1
74
75
76 profile<N>.schedule.mode
77 Type: int Allowed Values:
78 0|1|2|4|7|10|12|14|16|18|19|20|25|27|30|40|80
79 Which schedule used for crontab. The crontab entry will be gener‐
80 ated with 'backintime check-config'.
81 0 = Disabled
82 1 = at every boot
83 2 = every 5 minute
84 4 = every 10 minute
85 7 = every 30 minute
86 10 = every hour
87 12 = every 2 hours
88 14 = every 4 hours
89 16 = every 6 hours
90 18 = every 12 hours
91 19 = custom defined hours
92 20 = every day
93 25 = daily anacron
94 27 = when drive get connected
95 30 = every week
96 40 = every month
97 80 = every year
98
99 Default: 0
100
101
102 profile<N>.schedule.repeatedly.period
103 Type: int Allowed Values: 0-99999
104 How many units to wait between new snapshots with anacron? Only
105 valid for profile<N>.schedule.mode = 25|27
106
107 Default: 1
108
109
110 profile<N>.schedule.repeatedly.unit
111 Type: int Allowed Values: 10|20|30|40
112 Units to wait between new snapshots with anacron.
113 10 = hours
114 20 = days
115 30 = weeks
116 40 = months
117 Only valid for profile<N>.schedule.mode = 25|27
118
119 Default: 20
120
121
122 profile<N>.schedule.time
123 Type: int Allowed Values: 0-2400
124 Position-coded number with the format "hhmm" to specify the hour
125 and minute the cronjob should start (eg. 2015 means a quarter
126 past 8pm). Leading zeros can be omitted (eg. 30 = 0030). Only
127 valid for profile<N>.schedule.mode = 20 (daily), 30 (weekly), 40
128 (monthly) and 80 (yearly)
129
130 Default: 0
131
132
133 profile<N>.schedule.weekday
134 Type: int Allowed Values: 1 = monday - 7 = sunday
135 Which day of week the cronjob should run? Only valid for pro‐
136 file<N>.schedule.mode = 30
137
138 Default: 7
139
140
141 profile<N>.snapshots.backup_on_restore.enabled
142 Type: bool Allowed Values: true|false
143 Rename existing files before restore into FILE.backup.YYYYMMDD
144
145 Default: true
146
147
148 profile<N>.snapshots.bwlimit.enabled
149 Type: bool Allowed Values: true|false
150 Limit rsync bandwidth usage over network. Use this with mode SSH.
151 For mode Local you should rather use ionice.
152
153 Default: false
154
155
156 profile<N>.snapshots.bwlimit.value
157 Type: int Allowed Values: 0-99999
158 Bandwidth limit in KB/sec.
159
160 Default: 3000
161
162
163 profile<N>.snapshots.continue_on_errors
164 Type: bool Allowed Values: true|false
165 Continue on errors. This will keep incomplete snapshots rather
166 than deleting and start over again.
167
168 Default: true
169
170
171 profile<N>.snapshots.copy_links
172 Type: bool Allowed Values: true|false
173 When symlinks are encountered, the item that they point to
174 (the reference) is copied, rather than the symlink.
175
176 Default: false
177
178
179 profile<N>.snapshots.copy_unsafe_links
180 Type: bool Allowed Values: true|false
181 This tells rsync to copy the referent of symbolic links that
182 point outside the copied tree. Absolute symlinks are also
183 treated like ordinary files.
184
185 Default: false
186
187
188 profile<N>.snapshots.cron.ionice
189 Type: bool Allowed Values: true|false
190 Run cronjobs with 'ionice -c2 -n7'. This will give BackInTime the
191 lowest IO bandwidth priority to not interrupt any other working
192 process.
193
194 Default: true
195
196
197 profile<N>.snapshots.cron.nice
198 Type: bool Allowed Values: true|false
199 Run cronjobs with 'nice -n19'. This will give BackInTime the low‐
200 est CPU priority to not interrupt any other working process.
201
202 Default: true
203
204
205 profile<N>.snapshots.cron.redirect_stderr
206 Type: bool Allowed Values: true|false
207 redirect stderr to /dev/null in cronjobs
208
209 Default: False
210
211
212 profile<N>.snapshots.cron.redirect_stdout
213 Type: bool Allowed Values: true|false
214 redirect stdout to /dev/null in cronjobs
215
216 Default: true
217
218
219 profile<N>.snapshots.dont_remove_named_snapshots
220 Type: bool Allowed Values: true|false
221 Keep snapshots with names during smart_remove.
222
223 Default: true
224
225
226 profile<N>.snapshots.exclude.bysize.enabled
227 Type: bool Allowed Values: true|false
228 Enable exclude files by size.
229
230 Default: false
231
232
233 profile<N>.snapshots.exclude.bysize.value
234 Type: int Allowed Values: 0-99999
235 Exclude files bigger than value in MiB. With 'Full rsync mode'
236 disabled this will only affect new files because for rsync this
237 is a transfer option, not an exclude option. So big files that
238 has been backed up before will remain in snapshots even if they
239 had changed.
240
241 Default: 500
242
243
244 profile<N>.snapshots.exclude.<I>.value
245 Type: str Allowed Values: file, folder or pattern (relative
246 or absolute)
247 Exclude this file or folder. <I> must be a counter starting with
248 1
249
250 Default: ''
251
252
253 profile<N>.snapshots.exclude.size
254 Type: int Allowed Values: 0-99999
255 Quantity of profile<N>.snapshots.exclude.<I> entries.
256
257 Default: -1
258
259
260 profile<N>.snapshots.include.<I>.type
261 Type: int Allowed Values: 0|1
262 Specify if profile<N>.snapshots.include.<I>.value is a folder (0)
263 or a file (1).
264
265 Default: 0
266
267
268 profile<N>.snapshots.include.<I>.value
269 Type: str Allowed Values: absolute path
270 Include this file or folder. <I> must be a counter starting with
271 1
272
273 Default: ''
274
275
276 profile<N>.snapshots.include.size
277 Type: int Allowed Values: 0-99999
278 Quantity of profile<N>.snapshots.include.<I> entries.
279
280 Default: -1
281
282
283 profile<N>.snapshots.keep_only_one_snapshot.enabled
284 Type: bool Allowed Values: true|false
285 NOT YET IMPLEMENTED. Remove all snapshots but one.
286
287 Default: false
288
289
290 profile<N>.snapshots.local.nocache
291 Type: bool Allowed Values: true|false
292 Run rsync on local machine with 'nocache'. This will prevent
293 files from being cached in memory.
294
295 Default: false
296
297
298 profile<N>.snapshots.local_encfs.path
299 Type: str Allowed Values: absolute path
300 Where to save snapshots in mode 'local_encfs'.
301
302 Default: ''
303
304
305 profile<N>.snapshots.log_level
306 Type: int Allowed Values: 1-3
307 Log level used during takeSnapshot.
308 1 = Error
309 2 = Changes
310 3 = Info
311
312 Default: 3
313
314
315 profile<N>.snapshots.min_free_inodes.enabled
316 Type: bool Allowed Values: true|false
317 Remove snapshots until profile<N>.snapshots.min_free_inodes.value
318 free inodes in % is reached.
319
320 Default: true
321
322
323 profile<N>.snapshots.min_free_inodes.value
324 Type: int Allowed Values: 1-15
325 Keep at least value % free inodes.
326
327 Default: 2
328
329
330 profile<N>.snapshots.min_free_space.enabled
331 Type: bool Allowed Values: true|false
332 Remove snapshots until profile<N>.snapshots.min_free_space.value
333 free space is reached.
334
335 Default: true
336
337
338 profile<N>.snapshots.min_free_space.unit
339 Type: int Allowed Values: 10|20
340 10 = MB
341 20 = GB
342
343 Default: 20
344
345
346 profile<N>.snapshots.min_free_space.value
347 Type: int Allowed Values: 1-99999
348 Keep at least value + unit free space.
349
350 Default: 1
351
352
353 profile<N>.snapshots.mode
354 Type: str Allowed Values: local|local_encfs|ssh|ssh_encfs
355 Use mode (or backend) for this snapshot. Look at 'man backin‐
356 time' section 'Modes'.
357
358 Default: local
359
360
361 profile<N>.snapshots.<MODE>.password.save
362 Type: bool Allowed Values: true|false
363 Save password to system keyring (gnome-keyring or kwallet).
364 <MODE> must be the same as profile<N>.snapshots.mode
365
366 Default: false
367
368
369 profile<N>.snapshots.<MODE>.password.use_cache
370 Type: bool Allowed Values: true|false
371 Cache password in RAM so it can be read by cronjobs. Security is‐
372 sue: root might be able to read that password, too. <MODE> must
373 be the same as profile<N>.snapshots.mode
374
375 Default: true if home is not encrypted
376
377
378 profile<N>.snapshots.no_on_battery
379 Type: bool Allowed Values: true|false
380 Don't take snapshots if the Computer runs on battery.
381
382 Default: false
383
384
385 profile<N>.snapshots.notify.enabled
386 Type: bool Allowed Values: true|false
387 Display notifications (errors, warnings) through libnotify.
388
389 Default: true
390
391
392 profile<N>.snapshots.path
393 Type: str Allowed Values: absolute path
394 Where to save snapshots in mode 'local'. This path must contain a
395 folderstructure like 'backintime/<HOST>/<USER>/<PROFILE_ID>'
396
397 Default: ''
398
399
400 profile<N>.snapshots.path.host
401 Type: str Allowed Values: text
402 Set Host for snapshot path
403
404 Default: local hostname
405
406
407 profile<N>.snapshots.path.profile
408 Type: str Allowed Values: 1-99999
409 Set Profile-ID for snapshot path
410
411 Default: current Profile-ID
412
413
414 profile<N>.snapshots.path.user
415 Type: str Allowed Values: text
416 Set User for snapshot path
417
418 Default: local username
419
420
421 profile<N>.snapshots.path.uuid
422 Type: str Allowed Values: text
423 Devices uuid used to automatically set up udev rule if the drive
424 is not connected.
425
426 Default: ''
427
428
429 profile<N>.snapshots.preserve_acl
430 Type: bool Allowed Values: true|false
431 Preserve ACL. The source and destination systems must have
432 compatible ACL entries for this option to work properly.
433
434 Default: false
435
436
437 profile<N>.snapshots.preserve_xattr
438 Type: bool Allowed Values: true|false
439 Preserve extended attributes (xattr).
440
441 Default: false
442
443
444 profile<N>.snapshots.remove_old_snapshots.enabled
445 Type: bool Allowed Values: true|false
446 Remove all snapshots older than value + unit
447
448 Default: true
449
450
451 profile<N>.snapshots.remove_old_snapshots.unit
452 Type: int Allowed Values: 20|30|80
453 20 = days
454 30 = weeks
455 80 = years
456
457 Default: 80
458
459
460 profile<N>.snapshots.remove_old_snapshots.value
461 Type: int Allowed Values: 0-99999
462 Snapshots older than this times units will be removed
463
464 Default: 10
465
466
467 profile<N>.snapshots.rsync_options.enabled
468 Type: bool Allowed Values: true|false
469 Past additional options to rsync
470
471 Default: false
472
473
474 profile<N>.snapshots.rsync_options.value
475 Type: str Allowed Values: text
476 rsync options. Options must be quoted e.g. --exclude-
477 from="/path/to/my exclude file"
478
479 Default: ''
480
481
482 profile<N>.snapshots.smart_remove
483 Type: bool Allowed Values: true|false
484 Run smart_remove to clean up old snapshots after a new snapshot
485 was created.
486
487 Default: false
488
489
490 profile<N>.snapshots.smart_remove.keep_all
491 Type: int Allowed Values: 0-99999
492 Keep all snapshots for X days.
493
494 Default: 2
495
496
497 profile<N>.snapshots.smart_remove.keep_one_per_day
498 Type: int Allowed Values: 0-99999
499 Keep one snapshot per day for X days.
500
501 Default: 7
502
503
504 profile<N>.snapshots.smart_remove.keep_one_per_month
505 Type: int Allowed Values: 0-99999
506 Keep one snapshot per month for X month.
507
508 Default: 24
509
510
511 profile<N>.snapshots.smart_remove.keep_one_per_week
512 Type: int Allowed Values: 0-99999
513 Keep one snapshot per week for X weeks.
514
515 Default: 4
516
517
518 profile<N>.snapshots.smart_remove.run_remote_in_background
519 Type: bool Allowed Values: true|false
520 If using mode SSH or SSH-encrypted, run smart_remove in back‐
521 ground on remote machine
522
523 Default: false
524
525
526 profile<N>.snapshots.ssh.check_commands
527 Type: bool Allowed Values: true|false
528 Check if all commands (used during takeSnapshot) work like ex‐
529 pected on the remote host.
530
531 Default: true
532
533
534 profile<N>.snapshots.ssh.check_ping
535 Type: bool Allowed Values: true|false
536 Check if the remote host is available before trying to mount.
537
538 Default: true
539
540
541 profile<N>.snapshots.ssh.cipher
542 Type: str Allowed Values: default | aes192-cbc | aes256-cbc
543 | aes128-ctr | aes192-ctr | aes256-ctr | arcfour | arcfour256 |
544 arcfour128 | aes128-cbc | 3des-cbc | blowfish-cbc | cast128-cbc
545 Cipher that is used for encrypting the SSH tunnel. Depending on
546 the environment (network bandwidth, cpu and hdd performance) a
547 different cipher might be faster.
548
549 Default: default
550
551
552 profile<N>.snapshots.ssh.host
553 Type: str Allowed Values: IP or domain address
554 Remote host used for mode 'ssh' and 'ssh_encfs'.
555
556 Default: ''
557
558
559 profile<N>.snapshots.ssh.ionice
560 Type: bool Allowed Values: true|false
561 Run rsync and other commands on remote host with 'ionice -c2 -n7'
562
563 Default: false
564
565
566 profile<N>.snapshots.ssh.max_arg_length
567 Type: int Allowed Values: 0, >700
568 Maximum argument length of commands run on remote host. This can
569 be tested with 'python3 /usr/share/backintime/common/sshMaxArg.py
570 USER@HOST'.
571 0 = unlimited
572
573 Default: 0
574
575
576 profile<N>.snapshots.ssh.nice
577 Type: bool Allowed Values: true|false
578 Run rsync and other commands on remote host with 'nice -n19'
579
580 Default: false
581
582
583 profile<N>.snapshots.ssh.nocache
584 Type: bool Allowed Values: true|false
585 Run rsync on remote host with 'nocache'. This will prevent files
586 from being cached in memory.
587
588 Default: false
589
590
591 profile<N>.snapshots.ssh.path
592 Type: str Allowed Values: absolute or relative path
593 Snapshot path on remote host. If the path is relative (no leading
594 '/') it will start from remote Users homedir. An empty path will
595 be replaced with './'.
596
597 Default: ''
598
599
600 profile<N>.snapshots.ssh.port
601 Type: int Allowed Values: 0-65535
602 SSH Port on remote host.
603
604 Default: 22
605
606
607 profile<N>.snapshots.ssh.prefix.enabled
608 Type: bool Allowed Values: true|false
609 Add prefix to every command which run through SSH on remote host.
610
611 Default: false
612
613
614 profile<N>.snapshots.ssh.prefix.value
615 Type: str Allowed Values: text
616 Prefix to run before every command on remote host. Variables need
617 to be escaped with \$FOO. This doesn't touch rsync. So to add a
618 prefix for rsync use profile<N>.snapshots.rsync_options.value
619 with --rsync-path="FOO=bar:\$FOO /usr/bin/rsync"
620
621 Default: 'PATH=/opt/bin:/opt/sbin:\ATH'
622
623
624 profile<N>.snapshots.ssh.private_key_file
625 Type: str Allowed Values: absolute path to private key file
626 Private key file used for password-less authentication on remote
627 host.
628
629 Default: ~/.ssh/id_dsa
630
631
632 profile<N>.snapshots.ssh.user
633 Type: str Allowed Values: text
634 Remote SSH user
635
636 Default: local users name
637
638
639 profile<N>.snapshots.take_snapshot_regardless_of_changes
640 Type: bool Allowed Values: true|false
641 Create a new snapshot regardless if there were changes or not.
642
643 Default: false
644
645
646 profile<N>.snapshots.use_checksum
647 Type: bool Allowed Values: true|false
648 Use checksum to detect changes rather than size + time.
649
650 Default: false
651
652
653 profile<N>.snapshots.user_backup.ionice
654 Type: bool Allowed Values: true|false
655 Run BackInTime with 'ionice -c2 -n7' when taking a manual snap‐
656 shot. This will give BackInTime the lowest IO bandwidth priority
657 to not interrupt any other working process.
658
659 Default: false
660
661
662 profile<N>.user_callback.no_logging
663 Type: bool Allowed Values: true|false
664 Do not catch std{out|err} from user-callback script. The script
665 will only write to current TTY. Default is to catch std{out|err}
666 and write it to syslog and TTY again.
667
668 Default: false
669
670
671 profiles
672 Type: str Allowed Values: int separated by colon (e.g.
673 1:3:4)
674 All active Profiles (<N> in profile<N>.snapshots...).
675
676 Default: 1
677
678
679 profiles.version
680 Type: int Allowed Values: 1
681 Internal version of profiles config.
682
683 Default: 1
684
686 backintime, backintime-qt.
687
688 Back In Time also has a website: https://github.com/bit-team/backintime
689
691 This manual page was written by BIT Team(<bit-team@lists.launch‐
692 pad.net>).
693
694
695
696version 1.3.3 Nov 2022 backintime-config(1)