Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 11293-partition_table_backup
  • borg-custom-init-options
  • borg-sftp-support
  • borg-ssh-keygen
  • bugfix-borg-handler-create-options
  • debian
  • mariaback_full-intial
  • master
  • move-mail-deps
  • nap-initial
  • no_vservers
  • pristine-tar
  • stretch-backports
  • systemd_integration
  • tests
  • upstream
  • backupninja-0.3.4
  • backupninja-0.4.0
  • backupninja-0.4.1
  • backupninja-0.4.2
  • backupninja-0.4.4
  • backupninja-0.5
  • backupninja-0.7
  • backupninja-0.8
  • backupninja-0.9
  • backupninja-0.9.1
  • backupninja-0.9.10
  • backupninja-0.9.2
  • backupninja-0.9.3
  • backupninja-0.9.4
  • backupninja-0.9.5
  • backupninja-0.9.6
  • backupninja-0.9.7
  • backupninja-0.9.8
  • backupninja-0.9.8.1
  • backupninja-0.9.9
  • backupninja-1.0
  • backupninja-1.0-rc1
  • backupninja-1.0.1
  • backupninja-1.0.2
  • backupninja-1.1.0
  • backupninja_debian/0.9.10-1
  • backupninja_debian/0.9.10-2
  • backupninja_debian/0.9.9-1
  • backupninja_debian/1.0-1
  • backupninja_debian/1.0.1-1
  • backupninja_debian/1.0.1-2
  • backupninja_debian/1.0.2-1
  • backupninja_debian/1.0_rc1-1
  • backupninja_debian/1.1.0-1
  • backupninja_upstream/0.9.10
  • backupninja_upstream/1.0
  • backupninja_upstream/1.0.1
  • backupninja_upstream/1.0.2
  • backupninja_upstream/1.0_rc1
  • backupninja_upstream/1.1.0
56 results

Target

Select target project
  • liberate/backupninja
  • Benzhaomin/backupninja
  • ergonlogic/backupninja
  • louis/backupninja
  • guido/backupninja
  • ibauer/backupninja
  • romain/backupninja
  • gsubiron/backupninja
  • davidkg/backupninja
  • fkrauthan/backupninja
  • Glandos/backupninja
  • lyz/backupninja
  • nosmo/backupninja
  • orel/backupninja
  • raabf/backupninja
  • wu-lee/backupninja
  • huthamcau/backupninja
  • julien/backupninja
  • sensespidey/backupninja
  • LeLutin/backupninja
  • raT/backupninja
  • petrklima/backupninja
  • fancsali/backupninja
  • ko7ashiV/backupninja
  • yova/backupninja
  • jipem/backupninja
  • debian-janitor/backupninja
  • phlummox/backupninja
  • e1k/backupninja
  • jonhattan_/backupninja
  • illuusio/backupninja
  • maethor/backupninja
32 results
Select Git revision
  • backupninja.conf.d
  • borg-custom-init-options
  • borg-sftp-support
  • borg-ssh-keygen
  • debian
  • expand_pruning_options
  • maethor-master-patch-46063
  • maethor-master-patch-70558
  • mariaback_full-intial
  • master
  • nap-initial
  • pristine-tar
  • stretch-backports
  • systemd_integration
  • upstream
  • when-override
  • backupninja-0.3.4
  • backupninja-0.4.0
  • backupninja-0.4.1
  • backupninja-0.4.2
  • backupninja-0.4.4
  • backupninja-0.5
  • backupninja-0.7
  • backupninja-0.8
  • backupninja-0.9
  • backupninja-0.9.1
  • backupninja-0.9.10
  • backupninja-0.9.2
  • backupninja-0.9.3
  • backupninja-0.9.4
  • backupninja-0.9.5
  • backupninja-0.9.6
  • backupninja-0.9.7
  • backupninja-0.9.8
  • backupninja-0.9.8.1
  • backupninja-0.9.9
  • backupninja-1.0
  • backupninja-1.0-rc1
  • backupninja-1.0.1
  • backupninja-1.0.2
  • backupninja-1.1.0
  • backupninja-1.2.0
  • backupninja-1.2.0-rc1
  • backupninja-1.2.1
  • backupninja-1.2.2
  • backupninja_debian/0.9.10-1
  • backupninja_debian/0.9.10-2
  • backupninja_debian/0.9.9-1
  • backupninja_debian/1.0-1
  • backupninja_debian/1.0.1-1
  • backupninja_debian/1.0.1-2
  • backupninja_debian/1.0.2-1
  • backupninja_debian/1.0_rc1-1
  • backupninja_debian/1.1.0-1
  • backupninja_debian/1.2.0-1
  • backupninja_debian/1.2.1-1
  • backupninja_debian/1.2.2-1
  • backupninja_upstream/0.9.10
  • backupninja_upstream/1.0
  • backupninja_upstream/1.0.1
  • backupninja_upstream/1.0.2
  • backupninja_upstream/1.0_rc1
  • backupninja_upstream/1.1.0
  • backupninja_upstream/1.2.0
  • backupninja_upstream/1.2.1
  • backupninja_upstream/1.2.2
66 results
Show changes
Commits on Source (1)
  • Emil Breiner's avatar
    Introduction of a new helper-handler pair named nap · 0d8afeb8
    Emil Breiner authored
    The .nap file can be created to freeze the processing of the configurations for a (static) random interval. It is possible to specify the interval in seconds with a min and a max value and if it should be static.
    
    Change-Id: I9523fd3645b1007fe7e24b6bd4ec18a104a07e05
    0d8afeb8
HANDLERS = borg borg.helper dup dup.helper maildir makecd \
makecd.helper mysql mysql.helper pgsql pgsql.helper rdiff \
makecd.helper mysql mysql.helper nap nap.helper pgsql pgsql.helper rdiff \
rdiff.helper rsync sh svn sys sys.helper trac tar tar.helper
DIST_HANDLERS = borg.in borg.helper.in dup.in dup.helper.in maildir.in makecd.in \
makecd.helper.in mysql.in mysql.helper.in pgsql.in pgsql.helper.in rdiff.in \
makecd.helper.in mysql.in mysql.helper.in nap.in nap.helper.in pgsql.in pgsql.helper.in rdiff.in \
rdiff.helper.in rsync.in sh.in svn.in sys.in sys.helper.in trac.in tar.in tar.helper.in wget
CLEANFILES = $(HANDLERS)
......@@ -62,6 +62,14 @@ mysql.helper: $(srcdir)/mysql.helper.in
rm -f mysql.helper
$(edit) $(srcdir)/mysql.helper.in > mysql.helper
nap: $(srcdir)/nap.in
rm -f nap
$(edit) $(srcdir)/nap.in > nap
nap.helper: $(srcdir)/nap.helper.in
rm -f nap.helper
$(edit) $(srcdir)/nap.helper.in > nap.helper
pgsql: $(srcdir)/pgsql.in
rm -f pgsql
$(edit) $(srcdir)/pgsql.in > pgsql
......
# nap.helper creates a configuration file to offer the possibility
# to add a delay in form of a sleep before the start of the backup
# process itself
HELPERS="$HELPERS nap:randomized_delay_of_backups"
do_nap_static_random_delay() {
# set a boolean value to enable a static random delay seeded with the machine-id in /etc/machine-id.
radioBox "$nap_title" "enable the static random delay. For more information check the doc's..." \
"true" "enable the static random delay" off \
"false" "default" on
[ $? -eq 1 ] && return
nap_static_random_delay=$REPLY
setDefault interval_min
}
do_nap_interval_min() {
msg="Specify a lower limit for the time span of the delay in seconds:"
# set the minimum delay for the interval
inputBox "$nap_title" "${msg}"
[ $? -eq 0 ] || return
nap_interval_min=$REPLY
_interval_min_done="(DONE)"
setDefault interval_max
}
do_nap_interval_max() {
msg="Specify a upper limit for the time span of the delay in seconds:"
# set the maximum delay for the interval
inputBox "$nap_title" "${msg}"
[ $? -eq 0 ] || return
nap_interval_max=$REPLY
_interval_max_done="(DONE)"
setDefault finish
}
do_nap_finish() {
# Uses the prefix 0.nap because it has to be the first file processed by the corresponding handler
# that the randomized delay becomes useful.
get_next_filename $configdirectory/1.nap
cat > $next_filename <<EOF
### configuration file for nap.handler ###
# This holds back the processing of configuration files in this directory
# for a randomized and configurable time span
nap_static_random_delay = $nap_static_random_delay
nap_interval_min = $nap_interval_min
nap_interval_max = $nap_interval_max
EOF
chmod 600 $next_filename
}
nap_main_menu() {
while true; do
static_random_delay="enable the static random delay"
interval_min="specify the minimum delay for the interval $_interval_min_done"
interval_max="specify the maximum delay for the interval $_interval_max_done"
menuBox "$nap_title" "choose a step:" \
static "$static_random_delay" \
interval_min "$interval_min" \
interval_max "$interval_max" \
finish "finish and create configuration file"
[ $? -eq 0 ] || return
case "$REPLY" in
"static") do_nap_static_random_delay;;
"interval_min") do_nap_interval_min;;
"interval_max") do_nap_interval_max;;
"finish")
if [[ "$_interval_min_done$_interval_max_done" != "(DONE)(DONE)" ]]; then
msgBox "$nap_title" "You cannot create the configuration file until mandatory steps are completed."
else
do_nap_finish
return
fi
;;
esac
done
}
nap_wizard() {
# global variables
nap_title="random delay on backup process wizard"
_interval_min_done=
_interval_max_done=
# define some defaults for the configurations
nap_static_random_delay=true
nap_interval_min=
nap_interval_max=
nap_main_menu
}
# nap.handler for processing the .nap files to freeze the processing of configurations
# in the configuration directory of backupninja temporary.
getconf nap_static_random_delay
getconf nap_interval_min
getconf nap_interval_max
# check for static random delay
if [ $nap_static_random_delay == "false" ]; then
# use perl rand if static random is set false
delay=$(perl -e "print int($nap_interval_min + rand($nap_interval_max - $nap_interval_min))")
else
# seed rand with machine-id, the substring 0,8 is needed so the integer value does not
# overflows the max integer value of perl on a 32 bit system. With this method entropy isn't
# a problem
delay=$(cat /etc/machine-id | perl -e "srand(hex(substr(<STDIN>,0,8))); \
print int($nap_interval_min + rand($nap_interval_max - $nap_interval_min))")
fi
echo "Holding processing of configurations for $delay seconds..."
perl -e "sleep $delay"