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