Select Git revision
check_requirements
50_File_transfer.job.md NaN GiB
# dist file
```
# ----------------------------------------------------------------------
#
# jobfile for transfer of local data to backup-target
#
# ----------------------------------------------------------------------
#
# SYNTAX:
# [variable] = [value]
#
# - variable must start in first column
# - char "=" must be surrounded by space
# - value - any string; no " needed
#
# ----------------------------------------------------------------------
# ......................................................................
# backend:
# ......................................................................
#
# ===== Duplicity:
#
# file based / Samba share
# storage = file:///some/where
#
# ssh connection:
# storage = rsync://bacup@storage.example.com//netshare/backup
# if rsync does not work try scp (is slower)
# storage = scp://backup@storage.example.com//netshare/backup
#
# ===== Restic
# DOCS: https://restic.readthedocs.io/
#
# ssh connection:
# storage = sftp://backup@storage.example.com//netshare/backup
#
# https connection (requires a Http Rest server - i.e. Restic Http or Rclone http server)
# storage = rest:https://user:pass@host:8000/my_backup_repo/
#
#
#
# ===== for scp/ sftp/ rsync transfer you need to add an ssh private key
# ssh-privatekey = /opt/imlbackup/client/keys/id_imlbackup@storage-connector.iml.unibe.ch
#
# HINT: if using scp:// on Debian 8 enable ssh-backend; default: no value
# duplicity_ssh-backend = pexpect
# for local or locally mounted targets - you can add a test file that must be found
# to detect that a backup volume is mounted
# storage-file = /run/media/backup/I_am_mounted.txt
# OPTIONAL: register for a backup slot
# storage-register = ssh
# storage-registercmd = ./storage_helper.sh
# ----------------------------------------------------------------------
# BASIC settings
# ----------------------------------------------------------------------
# what tool to use? one of duplicity|restic ... see plugins/transfer/*.sh
bin = restic
# bin = duplicity
# encrypt backup sets with a password
# remark: "gnupg-passphrase = ..." is deprecated
passphrase = EnterYourSecretHere
# ----------------------------------------------------------------------
# backup type; one of auto|inc
# inc: incremetal and full backups if started on cofigured times
# auto: automatic; =incermental backups; duplicity can start a full
# backup if the last one is older a given range
# ----------------------------------------------------------------------
# type = inc
type = auto
# ----------------------------------------------------------------------
# scheduling for full backup
# type = inc only
# for inc and full you can set
# DOM:06,22 - days of month
# DOW:Mon,Fri - weekdays
# WDM:WDM:1st Fri - nth weekday in month
# ----------------------------------------------------------------------
# full = WDM:3rd Fri
# when to start a full backup?
# regex that must match a time HH:MM somewhen
# This will start it if backup ist started between 23:00:00 and 23:09:59
# start-time-full = 23:0.
# ----------------------------------------------------------------------
# full backups for type = auto AND when using duplicity
# ----------------------------------------------------------------------
# auto = <time> i.e. 1M
# auto = 1M
# automatic backup of samba shares (only if samba shares were detected)
sambashares = 1
restore-path = /restore
# ----------------------------------------------------------------------
#
# DUPLICITY
# values without prefix "duplicity_" are deprecated
#
# ----------------------------------------------------------------------
# for fallback on Debian 8:
# ssh-backend = pexpect
# duplicity_ssh-backend =
# time to keep backup sets on storage
# M - monthes
# Y - years
# keep = 6M
duplicity_keep = 6M
# volume size on backup target im MB
# volsize = 350
duplicity_volsize = 350
# use another cache directory than ~/.cache/duplicity/
# cachedir =
duplicity_cachedir =
# ----------------------------------------------------------------------
#
# RESTIC
#
# ----------------------------------------------------------------------
# use another cache directory than /root/.cache/restic
restic_cachedir =
restic_verbose = 2
restic_tag = imlbackup
restic_mountpoint = /mnt/restore
# prune
restic_keep-hourly = 100
restic_keep-daily = 90
restic_keep-weekly = 12
restic_keep-monthly = 12
restic_keep-yearly = 10
# ----------------------------------------------------------------------
```
# Description
## auto
Define when to make full backups for `type = auto`. It starts incremental backups
only as long the last full backup is not older than the given range.
It is used for Duplicity only and forces the parameter `--full-if-older-than [value]`.
Values are a number followed by a single letter for the time:
s, m, h, D, W, M, or Y (indicating seconds, minutes, hours, days, weeks, months, or years respectively)
`auto = 1M`
## bin
Name of the tool to use for file transfer.
The value is one of restic|duplicity
`bin = restic`
## duplicity_\* ###
Variables that are specific for duplicity. They will be used when you set
bin = duplicity.
```text
# for fallback on Debian 8:
# ssh-backend = pexpect
# duplicity_ssh-backend =
# time to keep backup sets on storage
# M - monthes
# Y - years
# keep = 6M
duplicity_keep = 6M
# volume size on backup target im MB
# volsize = 350
duplicity_volsize = 350
# use another cache directory than ~/.cache/duplicity/
# cachedir =
duplicity_cachedir =
```
## full
Scheduling days for full backup
You can set
* day of month: DOM
* weekday: DOW
* nth weekday in a month: WDM
It is followes by a `:` and a single value - or multiple values delimited by `,`.
* Day of month is always a 2 digit value (01..31).
* Keywords for weekdays are Mon, Tue, Wed, Thu, Fri, Sat, Sun.
* Valid numbers of day are 1st, 2nd, 3rd, 4th, 5th followes by space and a weekday
Examples:
* DOM:06,22 - days of month
* DOW:Mon,Fri - weekdays
* WDM:1st Fri - nth weekday in month
`full = WDM:3rd Fri`
See also: **start-time-full**
## passphrase
Passphrase to encrypt data locally before sending backup data to a target.
Keep your password on an additional (safe) place: without it you cannot
restore any data anymore.
`passphrase = EnterYourSecretHere`
## restic_*
Variables that are specific for restic. They will be used when you set
bin = restic.
```text
# use another cache directory than /root/.cache/restic
restic_cachedir =
restic_nocache = false
restic_verbose = 0
restic_tag = imlbackup
restic_mountpoint = /mnt/restore
# prune
restic_keep-hourly = 100
restic_keep-daily = 90
restic_keep-weekly = 12
restic_keep-monthly = 12
restic_keep-yearly = 10
```
## restore-path
Default path where to put restored file when running *restore.sh*.
After restore action you need to move/ copy the needed files to the wanted place.
`restore-path = /restore`
## sambashares
If the backup is running on a server with installed samba all shares
will be detected from /etc/samba/smb.conf and handled like a
added directory in dirs.job
`sambashares = 1`
## start-time-full
Time when to start an incrmental backup. This value will be handled
if a day matches **full** only.
The value of start-time-full is a regex then must match a time HH:MM somewhen
to start a full backup.
This will start it if backup ist started between 23:00:00 and 23:09:59:
`start-time-full= 23:0.`
see also **full**
## type
Type of backup. The value is one of auto|inc
* inc: incremetal and full backups if started on cofigured times
* auto: automatic; =incermental backups; duplicity can start a full backup if the last one is older a given range
This setting depends on the possibilities of the used backup tool.
### Restic
* set to "auto" only
### Duplicity
Duplicity supports 2 modes.
* "inc" - make full and incremental backups defined times. You need more values:
* full = WDM:3rd Fri
* start-time-full = 23:0.
* "auto" - starts incremental backups as long last full backup is not older value in
* auto = 1M
`type = auto`
see also **bin**