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

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.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

SEE ALSO

686       backintime, backintime-qt.
687
688       Back In Time also has a website: https://github.com/bit-team/backintime
689

AUTHOR

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