From 3e34c65f92e2695773238da3e3ddb54afc12a10c Mon Sep 17 00:00:00 2001 From: Robin Sheat Date: Thu, 28 Apr 2011 15:21:04 +1200 Subject: [PATCH] Bug 6275 - allow automated backups for packages This causes backups for the last two days to be stored by default. The backups will go into /var/spool/koha. Signed-off-by: Chris Cormack --- debian/koha-common.cron.daily | 1 + debian/koha-common.install | 1 + debian/scripts/koha-run-backups | 93 +++++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100755 debian/scripts/koha-run-backups diff --git a/debian/koha-common.cron.daily b/debian/koha-common.cron.daily index 059682e803..e2c7a80fae 100644 --- a/debian/koha-common.cron.daily +++ b/debian/koha-common.cron.daily @@ -22,3 +22,4 @@ koha-foreach --enabled /usr/share/koha/bin/cronjobs/holds/cancel_expired_holds.p koha-foreach --enabled /usr/share/koha/bin/cronjobs/services_throttle.pl > /dev/null 2>&1 koha-foreach --enabled /usr/share/koha/bin/cronjobs/cleanup_database.pl --sessions --zebraqueue 10 koha-foreach --enabled --noemail /usr/share/koha/bin/cronjobs/cleanup_database.pl --mail +koha-run-backups --days 2 --output /var/spool/koha diff --git a/debian/koha-common.install b/debian/koha-common.install index a970719e16..e67922e121 100644 --- a/debian/koha-common.install +++ b/debian/koha-common.install @@ -22,6 +22,7 @@ debian/scripts/koha-remove usr/sbin debian/scripts/koha-reset-passwd usr/sbin debian/scripts/koha-restart-zebra usr/sbin debian/scripts/koha-restore usr/sbin +debian/scripts/koha-run-backups usr/sbin debian/scripts/koha-start-zebra usr/sbin debian/scripts/koha-stop-zebra usr/sbin debian/scripts/koha-upgrade-schema usr/sbin diff --git a/debian/scripts/koha-run-backups b/debian/scripts/koha-run-backups new file mode 100755 index 0000000000..7bf39c55f0 --- /dev/null +++ b/debian/scripts/koha-run-backups @@ -0,0 +1,93 @@ +#!/bin/sh +# Copyright 2010-2011 Catalyst IT, Ltd +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Daily cron job for koha. +# - dump all sites, except one called 'demo' + +dirname="/var/spool/koha" +days="2" + +show_help() { + cat < /dev/null + + # Remove old dump files. + # FIXME: This could probably be replaced by one line of perl. + ls "$dirname/$name/" | + sed "s:^$name-\([0-9-]*\)\.\(sql\|tar\)\.gz$:\1:" | + sort -u | + tac | + sed "1,${days}d" | + tac | + while read date + do + tardump="$dirname/$name/$name-$date.tar.gz" + sqldump="$dirname/$name/$name-$date.sql.gz" + if [ -e "$tardump" ] && [ -e "$sqldump" ] + then + rm "$tardump" + rm "$sqldump" + elif [ -e "$tardump" ] || [ -e "$sqldump" ] + then + echo "Only one of a pair exists! Not removing it." + for x in "$tardump" "$sqldump" + do + if [ -e "$x" ] + then + echo "Exists : $x" + else + echo "Does not exist: $x" + fi + done + fi + done +done + -- 2.39.5