1backintime-config(1)             USER COMMANDS            backintime-config(1)
2
3
4

NAME

6       config - BackInTime configuration files.
7

SYNOPSIS

9       ~/.config/backintime/config
10       /etc/backintime/config
11

DESCRIPTION

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

POSSIBLE KEYWORDS

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

SEE ALSO

697       backintime, backintime-qt.
698
699       Back In Time also has a website: https://github.com/bit-team/backintime
700

AUTHOR

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)
Impressum