@@ -, +, @@ --- debian/koha-common.cron.daily | 1 + debian/koha-common.install | 1 + debian/scripts/koha-run-backups | 93 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+), 0 deletions(-) create mode 100755 debian/scripts/koha-run-backups --- a/debian/koha-common.cron.daily +++ a/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 --- a/debian/koha-common.install +++ a/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 --- a/debian/scripts/koha-run-backups +++ a/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 + --