summaryrefslogtreecommitdiff
path: root/debian/boxbackup-client.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/boxbackup-client.postinst')
-rw-r--r--debian/boxbackup-client.postinst349
1 files changed, 0 insertions, 349 deletions
diff --git a/debian/boxbackup-client.postinst b/debian/boxbackup-client.postinst
deleted file mode 100644
index 8fd8ae20..00000000
--- a/debian/boxbackup-client.postinst
+++ /dev/null
@@ -1,349 +0,0 @@
-#! /bin/bash
-# postinst script for boxbackup-client
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <postinst> `configure' <most-recently-configured-version>
-# * <old-postinst> `abort-upgrade' <new version>
-# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-# <new-version>
-# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-# <failed-install-package> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-#
-# quoting from the policy:
-# Any necessary prompting should almost always be confined to the
-# post-installation script, and should be protected with a conditional
-# so that unnecessary prompting doesn't happen if a package's
-# installation fails and the `postinst' is called with `abort-upgrade',
-# `abort-remove' or `abort-deconfigure'.
-
-#loading debconf module
-. /usr/share/debconf/confmodule
-
-CONFDIR=/etc/boxbackup
-DEBCONFBB=$CONFDIR/bbackupd.debconf
-BBCONF=$CONFDIR/bbackupd.conf
-BBKEY=$CONFDIR/bbackupd/boxbackup-client-encrypt-key.raw
-BBPRIVKEY=$CONFDIR/bbackupd/boxbackup-client-priv-key.pem
-BBCERTREQ=$CONFDIR/bbackupd/boxbackup-client-cert-req.pem
-BBCERT=$CONFDIR/bbackupd/boxbackup-client-cert.pem
-BBCACERT=$CONFDIR/bbackupd/boxbackup-server-ca-cert.pem
-DEBCONFNOTIFY=$CONFDIR/bbackupd/notifyadmin.debconf
-NOTIFYSCRIPT=$CONFDIR/bbackupd/notifyadmin
-
-case "$1" in
- configure)
- db_get boxbackup-client/debconf
- if [ "$RET" = "true" ]; then
- # Generate configuration files
- # backupd.conf
- echo "#To reconfigure boxbackup-client run #dpkg-reconfigure boxbackup-client" >> $DEBCONFBB
-
- db_get boxbackup-client/backupServer
- echo "StoreHostname = $RET" >> $DEBCONFBB
-
- db_get boxbackup-client/accountNumber
- ACCOUNT=$RET
- echo "AccountNumber = 0x$ACCOUNT" >> $DEBCONFBB
- echo "KeysFile = $BBKEY" >> $DEBCONFBB
- echo "" >> $DEBCONFBB
- echo "CertificateFile = $BBCERT" >> $DEBCONFBB
- echo "PrivateKeyFile = $BBPRIVKEY" >> $DEBCONFBB
- echo "TrustedCAsFile = $BBCACERT" >> $DEBCONFBB
- echo "" >> $DEBCONFBB
- echo "DataDirectory = /var/lib/bbackupd" >> $DEBCONFBB
-
- cat >>$DEBCONFBB <<__EOF
-
-# This script is run whenever bbackupd encounters a problem which requires
-# the system administrator to assist:
-# 1) The store is full, and no more data can be uploaded.
-# 2) Some files or directories were not readable.
-# The default script emails the system administrator.
-NotifyScript = $NOTIFYSCRIPT
-
-__EOF
-
- db_get boxbackup-client/backupMode
- if [ "$RET" = "lazy" ]; then
- db_get boxbackup-client/UpdateStoreInterval
- UPDATE=$RET
- [ -z $UPDATE ] && UPDATE="3600"
-
- db_get boxbackup-client/MinimumFileAge
- FILEAGE=$RET
- [ -z $FILEAGE ] && FILEAGE="21600"
-
- db_get boxbackup-client/MaxUploadWait
- UPWAIT=$RET
- [ -z $UPWAIT ] && UPWAIT="86400"
-
- AUTO=yes
- else
- AUTO=no
- UPDATE=0
- FILEAGE=0
- UPWAIT=0
- fi
-
- cat >>$DEBCONFBB <<__EOF
-# Backup mode specification
-# With snapshot mode, you will need to run bbackupctl to instruct the daemon to upload files.
-# Set to no for snapshot mode and yes for lazy mode
-AutomaticBackup = $AUTO
-
-# A scan of the local discs will be made once an hour (approximately).
-# To avoid cycles of load on the server, this time is randomly adjusted by a small
-# percentage as the daemon runs.
-# Defaults: 3600 for lazy mode - 0 for snapshot mode
-UpdateStoreInterval = $UPDATE
-
-# A file must have been modified at least 6 hours ago before it will be uploaded.
-# Defaults: 21600 for lazy mode - 0 for snapshot mode
-MinimumFileAge = $FILEAGE
-
-# If a file is modified repeated, it won't be uploaded immediately in case it's modified again.
-# However, it should be uploaded eventually. This is how long we should wait after first noticing
-# a change. (1 day)
-# Defaults: 86400 for lazy mode - 0 for snapshot mode
-MaxUploadWait = $UPWAIT
-
-# Files above this size (in bytes) are tracked, and if they are renamed they will simply be
-# renamed on the server, rather than being uploaded again. (64k - 1)
-FileTrackingSizeThreshold = 65535
-
-# The daemon does "changes only" uploads for files above this size (in bytes).
-# Files less than it are uploaded whole without this extra processing.
-DiffingUploadSizeThreshold = 8192
-
-# The limit on how much time is spent diffing files. Most files shouldn't take very long,
-# but if you have really big files you can use this to limit the time spent diffing them.
-# * Reduce if you are having problems with processor usage.
-# * Increase if you have large files, and think the upload of changes is too large and want
-# to spend more time searching for unchanged blocks.
-MaximumDiffingTime = 20
-
-# Uncomment this line to see exactly what the daemon is going when it's connected to the server.
-# ExtendedLogging = yes
-
-# Use this to temporarily stop bbackupd from syncronising or connecting to the store.
-# This specifies a program or script script which is run just before each sync, and ideally
-# the full path to the interpreter. It will be run as the same user bbackupd is running as,
-# usually root.
-# The script prints either "now" or a number to STDOUT (and a terminating newline, no quotes).
-# If the result was "now", then the sync will happen. If it's a number, then the script will
-# be asked again in that number of seconds.
-# For example, you could use this on a laptop to only backup when on a specific network.
-
-# SyncAllowScript = /path/to/intepreter/or/exe script-name parameters etc
-
-# Where the command socket is created in the filesystem.
-CommandSocket = /var/run/bbackupd.sock
-
-Server
-{
- PidFile = /var/run/bbackupd.pid
-}
-
-#
-# BackupLocations specifies which locations on disc should be backed up. Each
-# directory is in the format
-#
-# name
-# {
-# Path = /path/of/directory
-# (optional exclude directives)
-# }
-#
-# 'name' is derived from the Path by the config script, but should merely be
-# unique.
-#
-# The exclude directives are of the form
-#
-# [Exclude|AlwaysInclude][File|Dir][|sRegex] = regex or full pathname
-#
-# (The regex suffix is shown as 'sRegex' to make File or Dir plural)
-#
-# For example:
-#
-# ExcludeDir = /home/guest-user
-# ExcludeFilesRegex = \.(mp3|MP3)$
-# AlwaysIncludeFile = /home/username/veryimportant.mp3
-#
-# This excludes the directory /home/guest-user from the backup along with all mp3
-# files, except one MP3 file in particular.
-#
-# In general, Exclude excludes a file or directory, unless the directory is
-# explicitly mentioned in a AlwaysInclude directive.
-#
-# If a directive ends in Regex, then it is a regular expression rather than a
-# explicit full pathname. See
-#
-# man 7 re_format
-#
-# for the regex syntax on your platform.
-#
-
-BackupLocations
-{
-__EOF
-
- db_get boxbackup-client/backupDirs
-
- for dir in $RET; do
- NAME=`echo $dir | sed 's/\//-/g' | sed 's/^-//'`
-
- # TODO : exclude encrypt key file from the backup
-
- echo " $NAME" >> $DEBCONFBB
- echo " {" >> $DEBCONFBB
- echo " Path = $dir" >> $DEBCONFBB
- echo " }" >> $DEBCONFBB
- done
-
- echo "}" >> $DEBCONFBB
-
- # Encryption key
- if [ ! -e $BBKEY ]; then
- if ! openssl rand -out $BBKEY 1024 >&2; then
- echo "Can't generate encryption key. Check why." >&2
- fi
- fi
-
- chmod 600 $BBKEY || true
-
- # SSL stuff
- if [ ! -z $ACCOUNT ]; then
- if [ ! -e $BBPRIVKEY -a ! -e $BBCERT ]; then
- db_get boxbackup-client/generateCertificate
-
- if [ "$RET" = "true" ]; then
- if ! openssl genrsa -out $BBPRIVKEY 2048 >&2; then
- echo "Private key generation failed! Check why." >&2
- else
- chmod 600 $BBPRIVKEY || true
- fi
-
-
- if ! openssl req -new -key $BBPRIVKEY -sha1 -out $BBCERTREQ >&2 <<__EOF
-.
-.
-.
-.
-.
-BACKUP-$ACCOUNT
-.
-.
-.
-__EOF
- then
- echo "Certificate request generation failed ! Check why." >&2
- fi
- fi
- fi
- fi
-
- # Generate notify script
- CLIENTNAME=`hostname --fqdn`
-
- db_get boxbackup-client/notifyMail
- MAILTO=$RET
-
- cat >>$DEBCONFNOTIFY <<__EOF
-#!/bin/sh
-#To reconfigure boxbackup-client run #dpkg-reconfigure boxbackup-client
-SUBJECT="BACKUP PROBLEM on host $CLIENTNAME"
-SENDTO="$MAILTO"
-
-if [ \$1 = store-full ]
-then
-sendmail \$SENDTO <<EOM
-Subject: \$SUBJECT (store full)
-To: \$SENDTO
-
-
-The store account for $CLIENTNAME is full.
-
-=============================
-FILES ARE NOT BEING BACKED UP
-=============================
-
-Please adjust the limits on account $account_num on server $server.
-
-EOM
-elif [ \$1 = read-error ]
-then
-sendmail \$SENDTO <<EOM
-Subject: \$SUBJECT (read errors)
-To: \$SENDTO
-
-
-Errors occured reading some files or directories for backup on $CLIENTNAME.
-
-===================================
-THESE FILES ARE NOT BEING BACKED UP
-===================================
-
-Check the logs on $CLIENTNAME for the files and directories which caused
-these errors, and take appropraite action.
-
-Other files are being backed up.
-
-EOM
-else
-sendmail \$SENDTO <<EOM
-Subject: \$SUBJECT (unknown)
-To: \$SENDTO
-
-
-The backup daemon on $CLIENTNAME reported an unknown error.
-
-==========================
-FILES MAY NOT BE BACKED UP
-==========================
-
-Please check the logs on $CLIENTNAME.
-
-EOM
-fi
-__EOF
-
- db_stop
-
- ucf --three-way $DEBCONFBB $BBCONF >&2 </dev/tty
- rm -f $DEBCONFBB
- chmod 644 $BBCONF || true
- chown root:root $BBCONF || true
-
- ucf --three-way $DEBCONFNOTIFY $NOTIFYSCRIPT >&2 </dev/tty
- rm -f $DEBCONFNOTIFY
- chmod 755 $NOTIFYSCRIPT || true
- chown root:root $NOTIFYSCRIPT || true
- else
- db_stop
- fi
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
- db_stop
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- db_stop
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0