Hello community, here is the log from the commit of package duply for openSUSE:Factory checked in at 2020-09-06 00:03:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/duply (Old) and /work/SRC/openSUSE:Factory/.duply.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "duply" Sun Sep 6 00:03:14 2020 rev:22 rq:832105 version:2.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/duply/duply.changes 2019-10-21 12:30:29.776103230 +0200 +++ /work/SRC/openSUSE:Factory/.duply.new.3399/duply.changes 2020-09-06 00:03:28.983286309 +0200 @@ -1,0 +2,10 @@ +Tue Sep 1 08:36:27 UTC 2020 - Dirk Mueller <[email protected]> + +- update to 2.2.2: + - bugfix 120: Failures in "Autoset trust of key" during restore + because of gpg2.2 fingerprint output change + - featreq 46: Example systemd units & Howto, courtesy of Jozef Riha + - featreq 47: Clarify message about keeping the profile, also by Jozef Riha + - fix abbreviation spelling of 'e.g.' + +------------------------------------------------------------------- Old: ---- duply_2.2.tgz New: ---- duply_2.2.2.tgz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ duply.spec ++++++ --- /var/tmp/diff_new_pack.qgN5Ke/_old 2020-09-06 00:03:29.887286761 +0200 +++ /var/tmp/diff_new_pack.qgN5Ke/_new 2020-09-06 00:03:29.891286764 +0200 @@ -1,7 +1,7 @@ # # spec file for package duply # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # Copyright (c) 2011-2019 Malcolm J Lewis <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -18,11 +18,11 @@ Name: duply -Version: 2.2 +Version: 2.2.2 Release: 0 Summary: A frontend for the "duplicity" backup program License: GPL-2.0-only -Url: http://duply.net/ +URL: http://duply.net/ Source0: https://sourceforge.net/projects/ftplicity/files/duply%20%28simple%20duplicity%29/2.2.x/%{name}_%{version}.tgz # MANUAL BEGIN Requires: duplicity ++++++ duply_2.2.tgz -> duply_2.2.2.tgz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/CHANGELOG.txt new/duply_2.2.2/CHANGELOG.txt --- old/duply_2.2/CHANGELOG.txt 2018-12-30 18:16:11.000000000 +0100 +++ new/duply_2.2.2/CHANGELOG.txt 2020-02-24 12:53:51.000000000 +0100 @@ -11,12 +11,21 @@ deprecation since 0.5.10 namely --time-separator --short-filenames --old-filenames -- add 'exclude_<command>' list usage eg. exclude_verify +- add 'exclude_<command>' list usage e.g. exclude_verify - featreq 25: a download/install duplicity option - hint on install software if a piece is missing - import/export profile from/to .tgz function !!! CHANGELOG: +2.2.2 (24.02.2020) +- bugfix 120: Failures in "Autoset trust of key" during restore + because of gpg2.2 fingerprint output change + +2.2.1 (22.01.2020) +- featreq 46: Example systemd units & Howto, courtesy of Jozef Riha +- featreq 47: Clarify message about keeping the profile, also by Jozef Riha +- fix abbreviation spelling of 'e.g.' + 2.2 (30.12.2018) - featreq 44: implement grouping for batch commands new separators are [] (square brackets) or groupIn/groupOut @@ -30,7 +39,7 @@ configured per PYTHON var unconfigured, parsed from duplicity shebang or set to current duplicity default 'python2' (was 'python' until now) -- do not quotewrap strings because of slashes (eg. paths) anymore +- do not quotewrap strings because of slashes (e.g. paths) anymore - bugfix: improved in/exclude stripping from conf DUPL_PARAMS 2.0.4 (20.02.2018) @@ -89,7 +98,7 @@ path /usr/bin/python until 0.7.05, which we circumvent this way) - featreq 36: support gpg-connect-agent as a means to detect if an agent is running (thx Thomas Harning Jr.), used gpg-agent for detection though -- quotewrapped run_cmd parameters to protect it from spaces eg. in TMP path +- quotewrapped run_cmd parameters to protect it from spaces e.g. in TMP path - key export routine respects gpg-agent usage now 1.10.1 (19.8.2015) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/duply new/duply_2.2.2/duply --- old/duply_2.2/duply 2018-12-30 18:16:11.000000000 +0100 +++ new/duply_2.2.2/duply 2020-02-24 12:53:51.000000000 +0100 @@ -27,12 +27,21 @@ # deprecation since 0.5.10 namely --time-separator # --short-filenames # --old-filenames -# - add 'exclude_<command>' list usage eg. exclude_verify +# - add 'exclude_<command>' list usage e.g. exclude_verify # - featreq 25: a download/install duplicity option # - hint on install software if a piece is missing # - import/export profile from/to .tgz function !!! # # CHANGELOG: +# 2.2.2 (24.02.2020) +# - bugfix 120: Failures in "Autoset trust of key" during restore +# because of gpg2.2 fingerprint output change +# +# 2.2.1 (22.01.2020) +# - featreq 46: Example systemd units & Howto, courtesy of Jozef Riha +# - featreq 47: Clarify message about keeping the profile, also by Jozef Riha +# - fix abbreviation spelling of 'e.g.' +# # 2.2 (30.12.2018) # - featreq 44: implement grouping for batch commands # new separators are [] (square brackets) or groupIn/groupOut @@ -46,7 +55,7 @@ # configured per PYTHON var # unconfigured, parsed from duplicity shebang # or set to current duplicity default 'python2' (was 'python' until now) -# - do not quotewrap strings because of slashes (eg. paths) anymore +# - do not quotewrap strings because of slashes (e.g. paths) anymore # - bugfix: improved in/exclude stripping from conf DUPL_PARAMS # # 2.0.4 (20.02.2018) @@ -105,7 +114,7 @@ # path /usr/bin/python until 0.7.05, which we circumvent this way) # - featreq 36: support gpg-connect-agent as a means to detect if an agent is # running (thx Thomas Harning Jr.), used gpg-agent for detection though -# - quotewrapped run_cmd parameters to protect it from spaces eg. in TMP path +# - quotewrapped run_cmd parameters to protect it from spaces e.g. in TMP path # - key export routine respects gpg-agent usage now # # 1.10.1 (19.8.2015) @@ -511,7 +520,7 @@ ME_LONG="$0" ME="$(basename $0)" ME_NAME="${ME%%.*}" -ME_VERSION="2.2" +ME_VERSION="2.2.2" ME_WEBSITE="http://duply.net" # default config values @@ -612,7 +621,7 @@ It simplifies running duplicity with cron or on command line by: - keeping recurring settings in profiles per backup job - - enabling batch operations eg. backup_verify+purge + - enabling batch operations e.g. backup_verify+purge - executing pre/post scripts (different actions possible depending on previous or next command or it's exit status) - precondition checking for flawless duplicity operation @@ -852,7 +861,7 @@ # backend, credentials & location of the backup target (URL-Format) # generic syntax is # scheme://[user[:password]@]host[:port]/[/]path -# eg. +# e.g. # sftp://bob:[email protected]//home/bob/dupbkp # for details and available backends see duplicity manpage, section URL Format # http://duplicity.nongnu.org/duplicity.1.html#sect7 @@ -875,7 +884,7 @@ # env vars should be set. #TARGET_USER='${DEFAULT_TARGET_USER}' #TARGET_PASS='${DEFAULT_TARGET_PASS}' -# eg. for cloud files backend it might look like this (uncomment for use!) +# e.g. for cloud files backend it might look like this (uncomment for use!) #export CLOUDFILES_USERNAME='someuser' #export CLOUDFILES_APIKEY='somekey' #export CLOUDFILES_AUTHURL ='someurl' @@ -1007,12 +1016,23 @@ cat <<EOF IMPORTANT: Copy the _whole_ profile folder after the first backup to a safe place. - It contains everything needed to restore your backups. You will need - it if you have to restore the backup from another system (e.g. after a - system crash). Keep access to these files restricted as they contain - _all_ informations (gpg data, ftp data) to access and modify your backups. + It contains everything (duply related) needed to restore your backups. + + Pay attention to (possibly later added) external files such as credentials + or auth files (e.g. netrc, .megarc, ssh keys) or environment variables + (e.g. DPBX_ACCESS_TOKEN). + It is good policy to place those in the profile folder if possible at all. + e.g. in case of 'multi://' target the config .json file + Env vars should be added to duply profiles' conf file. - Repeat this step after _all_ configuration changes. Some configuration + Keep access to these files restricted as they contain information (gpg key, + passphrases etc.) to access and modify your backups. + + Finally: + You should attempt a restore from an unrelated host to be sure you really + have everything needed for restoration. + + Repeat these steps after _all_ configuration changes. Some configuration options are crucial for restoration. EOF @@ -1295,11 +1315,11 @@ # strip the value of previous parameter continue elif echo "$p" | awk '/^\-\-(in|ex)clude(\-[a-zA-Z]+)?$/{exit 0;}{exit 1;}'; then - # strips eg. --include /foo/bar + # strips e.g. --include /foo/bar STRIPNEXT="yes" continue elif echo "$p" | awk '/^\-\-(in|ex)clude(\-[a-zA-Z]+)?=/{exit 0;}{exit 1;}'; then - # strips eg. --include=/foo/bar + # strips e.g. --include=/foo/bar continue fi @@ -1394,7 +1414,7 @@ [ -n "$NSECS" ] && NSECS_DISABLED=0 || NSECS_DISABLED=1 fi - # add 9 digits, not all date(s) deliver nsecs eg. busybox date + # add 9 digits, not all date(s) deliver nsecs e.g. busybox date if [ "$NSECS_DISABLED" == "1" ]; then date_fix %s000000000 else @@ -1567,9 +1587,8 @@ # see 'How to specify a user ID' on gpg manpage function gpg_fingerprint { - local PRINT=$(gpg $GPG_OPTS --fingerprint "$1" 2>&1|awk -F= 'NR==2{gsub(/ /,"",$2);$2=toupper($2); if ( $2 ~ /^[A-F0-9]+$/ && length($2) == 40 ) print $2; else exit 1}') \ - && [ -n "$PRINT" ] && echo $PRINT && return 0 - return 1 + gpg $GPG_OPTS --fingerprint "$1" 2>&1 | \ + awk 'NR==2{sub(/^.*=/,"");gsub(/[ \t]/,""); if ( $0 !~ /^[A-F0-9]+$/ || length($0) != 40 ) exit 1; print}' } function gpg_export_if_needed { @@ -1940,7 +1959,7 @@ # forward parameter[/option pairs] to duplicity dupl_opts["${#dupl_opts[@]}"]=${param} else - # anything else must be a parameter (eg. for fetch, ...) + # anything else must be a parameter (e.g. for fetch, ...) ftpl_pars["${#ftpl_pars[@]}"]=${param} fi last_param=${param} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/HOWTO.txt new/duply_2.2.2/systemd-unit.examples/HOWTO.txt --- old/duply_2.2/systemd-unit.examples/HOWTO.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/HOWTO.txt 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,76 @@ +SCHEDULING BACKUPS USING SYSTEMD TIMERS +a mini-howto written by Jozef Riha [09.01.2020] + +One way of setting up a regular backup and backup-related jobs on a +systemd-based OS is via systemd timers. Duply is coming is coming with a set +of example units that makes this task easy to implement. The units have to be +placed at + `/usr/lib/systemd/user` +and allow user-independent scheduling of multiple duply profiles. + +Let's consider a regular backup with an example `humbug` profile configured. + +This command schedules the backup of this profile in predefined intervals: + +``` +$ systemctl --user enable --now [email protected] +``` + +To start the count-down timer we need to run the backup via systemd once: + +``` +$ systemctl --user start [email protected] +$ systemctl --user status [email protected] +``` + +We can now list the next run as scheduled by systemd: + +``` +$ systemctl --user list-timers +NEXT LEFT LAST PASSED UNIT ACTIVATES +Fri 2020-01-10 11:15:47 CET 23h left Thu 2020-01-09 11:05:42 CET 10min ago [email protected] [email protected] +``` + +You may schedule verify (`duply-verify@`) and cleanup (`duply-cleanup@`) similarly. + + +CHANGING THE DEFAULTS + +To override default scheduling interval create a drop-in service file in + `/etc/systemd/user` +. Eg. to make all backups run every 30 minutes create + `/etc/systemd/user/[email protected]/OnUnitActiveSec.conf` +with the following contents: + +``` +[Timer] +OnUnitActiveSec=30m +``` + +Then reload the configuration: + +``` +$ systemctl --user daemon-reload +``` + +To override this for the `humbug` profile only write these changes into + `/etc/systemd/user/[email protected]/OnUnitActiveSec.conf` +. + + +E-MAIL NOTIFICATION + +All units are configured with `OnFailure` directive that sends e-mail if +a unit ends with a failure. This assumes a working MTA, eg. msmtp. +Note that emails are sent to a user having the profile set, so defining +an alias may be required. For msmtp this would be: + +``` +/etc/msmtprc + .. + .. + aliases /etc/aliases + +/etc/aliases + MYUSER: [email protected] +``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/system/[email protected] new/duply_2.2.2/systemd-unit.examples/system/[email protected] --- old/duply_2.2/systemd-unit.examples/system/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/system/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,27 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl start [email protected] +# + +[Unit] +Description=Duply backup for %I +After=local-fs.target time-sync.target +Conflicts=shutdown.target +Before=shutdown.target +OnFailure=notify-failed-backup@%n +Documentation=https://www.duply.net/wiki/index.php/Duply-documentation + +[Service] +Type=oneshot +# HOME must point to root's home so that duply can locate the profile +Environment="HOME=/root" +ExecStart=/usr/bin/duply %i backup +IOSchedulingClass=idle + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/system/[email protected] new/duply_2.2.2/systemd-unit.examples/system/[email protected] --- old/duply_2.2/systemd-unit.examples/system/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/system/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,39 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl enable --now [email protected] +# $ systemctl list-timers +# +# Create drop-in units to override default interval: +# +# Global override for all instances: +# # mkdir /etc/systemd/system/[email protected] +# # cat /etc/systemd/system/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnBootSec=15min +# OnUnitActiveSec=7d +# +# Override for a specific instance (humbug profile): +# # mkdir /etc/systemd/system/[email protected] +# # cat /etc/systemd/system/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnUnitActiveSec=2d +# +# Run systemctl daemon-reload +# as root after making any changes + + +[Unit] +Description=Make duply backup in defined intervals + +[Timer] +OnBootSec=15min +OnUnitActiveSec=1d +Persistent=true + +[Install] +WantedBy=timers.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/system/[email protected] new/duply_2.2.2/systemd-unit.examples/system/[email protected] --- old/duply_2.2/systemd-unit.examples/system/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/system/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,27 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl start [email protected] +# + +[Unit] +Description=Duply cleanup of old backups for %I +After=local-fs.target time-sync.target duply-backup@%i.service duply-verify@%i.service +Conflicts=shutdown.target +Before=shutdown.target +OnFailure=notify-failed-backup@%n +Documentation=https://www.duply.net/wiki/index.php/Duply-documentation + +[Service] +Type=oneshot +# HOME must point to root's home so that duply can locate the profile +Environment="HOME=/root" +ExecStart=sh -c "/usr/bin/duply %i purge --force; /usr/bin/duply %i cleanup --force" +IOSchedulingClass=idle + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/system/[email protected] new/duply_2.2.2/systemd-unit.examples/system/[email protected] --- old/duply_2.2/systemd-unit.examples/system/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/system/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,39 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl enable --now [email protected] +# $ systemctl list-timers +# +# Create drop-in units to override default interval: +# +# Global override for all instances: +# # mkdir /etc/systemd/system/[email protected] +# # cat /etc/systemd/system/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnBootSec=15min +# OnUnitActiveSec=4d +# +# Override for a specific instance (humbug profile): +# # mkdir /etc/systemd/system/[email protected] +# # cat /etc/systemd/system/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnUnitActiveSec=2d +# +# Run systemctl daemon-reload +# as root after making any changes + + +[Unit] +Description=Run duply cleanup for %i in defined intervals + +[Timer] +OnBootSec=60min +OnUnitActiveSec=7d +Persistent=true + +[Install] +WantedBy=timers.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/system/[email protected] new/duply_2.2.2/systemd-unit.examples/system/[email protected] --- old/duply_2.2/systemd-unit.examples/system/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/system/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,27 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl start [email protected] +# + +[Unit] +Description=Duply verify backup for %I +After=local-fs.target time-sync.target duply-backup@%i.service +Conflicts=shutdown.target +Before=shutdown.target +OnFailure=notify-failed-backup@%n +Documentation=https://www.duply.net/wiki/index.php/Duply-documentation + +[Service] +Type=oneshot +# HOME must point to root's home so that duply can locate the profile +Environment="HOME=/root" +ExecStart=/usr/bin/duply %i verify +IOSchedulingClass=idle + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/system/[email protected] new/duply_2.2.2/systemd-unit.examples/system/[email protected] --- old/duply_2.2/systemd-unit.examples/system/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/system/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,38 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl --user enable --now [email protected] +# $ systemctl --user list-timers +# +# Create drop-in units to override default interval: +# +# Global override for all instances: +# # mkdir /etc/systemd/system/[email protected] +# # cat /etc/systemd/system/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnBootSec=15min +# OnUnitActiveSec=5d +# +# Override for a specific instance (humbug profile): +# # mkdir /etc/systemd/system/[email protected] +# # cat /etc/systemd/system/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnUnitActiveSec=3d +# +# Run systemctl daemon-reload +# as root after making any changes + +[Unit] +Description=Run duply verify for %i in regular intervals + +[Timer] +OnBootSec=120min +OnUnitActiveSec=14d +Persistent=true + +[Install] +WantedBy=timers.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/system/[email protected] new/duply_2.2.2/systemd-unit.examples/system/[email protected] --- old/duply_2.2/systemd-unit.examples/system/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/system/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,19 @@ +# This unit is responsible for sending an email +# if a duply-related service unit fails +# +# Make sure running echo test | mail YOURUSER +# results in a new email in your inbox. +# +# You may want to review /etc/aliases to read: +# YOURUSER: YOURUSER@YOUR_EMAIL_PROVIDER.com +# +# If you're using msmtp for instance, then you'll +# need to add this line to msmtprc: +# aliases /etc/aliases + +[Unit] +Description=Email notification for failed duply systemd units + +[Service] +Type=oneshot +ExecStart=/bin/bash -c '/bin/systemctl status %i | /usr/bin/mail -s "[SYSTEMD_Notification - %i on %H] Fail" %u' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/user/[email protected] new/duply_2.2.2/systemd-unit.examples/user/[email protected] --- old/duply_2.2/systemd-unit.examples/user/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/user/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,25 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager of a user: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl --user start [email protected] +# + +[Unit] +Description=Duply backup for %I +After=local-fs.target time-sync.target +Conflicts=shutdown.target +Before=shutdown.target +OnFailure=notify-failed-backup@%n +Documentation=https://www.duply.net/wiki/index.php/Duply-documentation + +[Service] +Type=oneshot +ExecStart=/usr/bin/duply %i backup +IOSchedulingClass=idle + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/user/[email protected] new/duply_2.2.2/systemd-unit.examples/user/[email protected] --- old/duply_2.2/systemd-unit.examples/user/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/user/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,39 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager of a user: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl --user enable --now [email protected] +# $ systemctl --user list-timers +# +# Create drop-in units to override default interval: +# +# Global override for all instances: +# # mkdir /etc/systemd/user/[email protected] +# # cat /etc/systemd/user/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnBootSec=15min +# OnUnitActiveSec=7d +# +# Override for a specific instance (humbug profile): +# # mkdir /etc/systemd/user/[email protected] +# # cat /etc/systemd/user/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnUnitActiveSec=2d +# +# Run systemctl --user daemon-reload +# as a regular user after making any changes + + +[Unit] +Description=Make duply backup in defined intervals + +[Timer] +OnBootSec=15min +OnUnitActiveSec=1d +Persistent=true + +[Install] +WantedBy=timers.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/user/[email protected] new/duply_2.2.2/systemd-unit.examples/user/[email protected] --- old/duply_2.2/systemd-unit.examples/user/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/user/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,25 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager of a user: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl --user start [email protected] +# + +[Unit] +Description=Duply cleanup of old backups for %I +After=local-fs.target time-sync.target duply-backup@%i.service duply-verify@%i.service +Conflicts=shutdown.target +Before=shutdown.target +OnFailure=notify-failed-backup@%n +Documentation=https://www.duply.net/wiki/index.php/Duply-documentation + +[Service] +Type=oneshot +ExecStart=sh -c "/usr/bin/duply %i purge --force; /usr/bin/duply %i cleanup --force" +IOSchedulingClass=idle + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/user/[email protected] new/duply_2.2.2/systemd-unit.examples/user/[email protected] --- old/duply_2.2/systemd-unit.examples/user/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/user/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,39 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager of a user: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl --user enable --now [email protected] +# $ systemctl --user list-timers +# +# Create drop-in units to override default interval: +# +# Global override for all instances: +# # mkdir /etc/systemd/user/[email protected] +# # cat /etc/systemd/user/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnBootSec=15min +# OnUnitActiveSec=4d +# +# Override for a specific instance (humbug profile): +# # mkdir /etc/systemd/user/[email protected] +# # cat /etc/systemd/user/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnUnitActiveSec=2d +# +# Run systemctl --user daemon-reload +# as a regular user after making any changes + + +[Unit] +Description=Run duply cleanup for %i in defined intervals + +[Timer] +OnBootSec=60min +OnUnitActiveSec=7d +Persistent=true + +[Install] +WantedBy=timers.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/user/[email protected] new/duply_2.2.2/systemd-unit.examples/user/[email protected] --- old/duply_2.2/systemd-unit.examples/user/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/user/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,25 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager of a user: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl --user start [email protected] +# + +[Unit] +Description=Duply verify backup for %I +After=local-fs.target time-sync.target duply-backup@%i.service +Conflicts=shutdown.target +Before=shutdown.target +OnFailure=notify-failed-backup@%n +Documentation=https://www.duply.net/wiki/index.php/Duply-documentation + +[Service] +Type=oneshot +ExecStart=/usr/bin/duply %i verify +IOSchedulingClass=idle + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/user/[email protected] new/duply_2.2.2/systemd-unit.examples/user/[email protected] --- old/duply_2.2/systemd-unit.examples/user/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/user/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,38 @@ +# This file is part of duply. +# +# Common way of activating this service is via +# service manager of a user: +# +# if 'humbug' is an existing duply profile in ~/.duply: +# +# $ systemctl --user enable --now [email protected] +# $ systemctl --user list-timers +# +# Create drop-in units to override default interval: +# +# Global override for all instances: +# # mkdir /etc/systemd/user/[email protected] +# # cat /etc/systemd/user/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnBootSec=15min +# OnUnitActiveSec=5d +# +# Override for a specific instance (humbug profile): +# # mkdir /etc/systemd/user/[email protected] +# # cat /etc/systemd/user/[email protected]/OnUnitActiveSec.conf +# [Timer] +# OnUnitActiveSec=3d +# +# Run systemctl --user daemon-reload +# as a regular user after making any changes + +[Unit] +Description=Run duply verify for %i in regular intervals + +[Timer] +OnBootSec=120min +OnUnitActiveSec=14d +Persistent=true + +[Install] +WantedBy=timers.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/duply_2.2/systemd-unit.examples/user/[email protected] new/duply_2.2.2/systemd-unit.examples/user/[email protected] --- old/duply_2.2/systemd-unit.examples/user/[email protected] 1970-01-01 01:00:00.000000000 +0100 +++ new/duply_2.2.2/systemd-unit.examples/user/[email protected] 2020-02-24 12:53:51.000000000 +0100 @@ -0,0 +1,19 @@ +# This unit is responsible for sending an email +# if a duply-related service unit fails +# +# Make sure running echo test | mail YOURUSER +# results in a new email in your inbox. +# +# You may want to review /etc/aliases to read: +# YOURUSER: YOURUSER@YOUR_EMAIL_PROVIDER.com +# +# If you're using msmtp for instance, then you'll +# need to add this line to msmtprc: +# aliases /etc/aliases + +[Unit] +Description=Email notification for failed duply systemd units + +[Service] +Type=oneshot +ExecStart=/bin/bash -c '/bin/systemctl --user status %i | /usr/bin/mail -s "[SYSTEMD_Notification - %i on %H] Fail" %u'
