From 3b460c7d9e6daf367cef82047a3111c39e9209af Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Mon, 13 Jul 2020 10:25:02 -0300
Subject: [PATCH] Bug 21111: Add --exclude-indexes to koha-run-backups
This patch adds a trivial switch so koha-run-backups can pass the
--exclude-indexes option switch to koha-dump. This way if the sysadmin
doesn't want to backup the Zebra indexes, it can be controlled by
tweaking the cron definition.
To test:
1. Apply this patch
2. Run:
$ debian/scripts/koha-run-backups --days 2 --output /var/spool/koha
3. Notice the size of the backups:
$ ls -lh /var/spool/koha/kohadev
4. Try the new option switch:
$ debian/scripts/koha-run-backups \
--exclude-indexes \
--days 2 --output /var/spool/koha
5. Repeat 3
=> SUCCESS: Backups are smaller!
6. Sign off :-D
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
JD amended patch: fix --exclude_indexes vs --exclude-indexes in koha-run-backups.xml
---
debian/docs/koha-run-backups.xml | 7 +++++++
debian/scripts/koha-run-backups | 17 +++++++++++------
2 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/debian/docs/koha-run-backups.xml b/debian/docs/koha-run-backups.xml
index 653a611a4f..3684421035 100644
--- a/debian/docs/koha-run-backups.xml
+++ b/debian/docs/koha-run-backups.xml
@@ -46,6 +46,13 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--exclude-indexes</option></term>
+ <listitem>
+ <para>Exclude Zebra indexes from the backups (default: false).</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>
diff --git a/debian/scripts/koha-run-backups b/debian/scripts/koha-run-backups
index 74f879b744..1433c06ba1 100755
--- a/debian/scripts/koha-run-backups
+++ b/debian/scripts/koha-run-backups
@@ -28,16 +28,19 @@ This allows automation of backing up the koha data and configuration to the
filesystem. It will keep the past so many backups, discarding older ones.
Options:
- --output: the directory that the resulting files will be placed into.
- (default: /var/spool/koha)
- --days: the number of days to keep backups around for
- (default: 2)
+ --output /path The directory that the resulting files will be placed into.
+ (default: /var/spool/koha)
+ --days 2 The number of days to keep backups around for
+ (default: 2)
+ --exclude-indexes Exclude Zebra indexes from the backups (default: false)
Note: backups produced using this tool can be restored using \`koha-restore'.
EOH
}
-CMD_LINE=`getopt -o h --long days:,output:,help -n 'koha-run-backups' -- "$@"`
+exclude_indexes=""
+
+CMD_LINE=`getopt -o h --long days:,output:,help,exclude-indexes -n 'koha-run-backups' -- "$@"`
if [ $? != 0 ] ; then show_help ; exit 1 ; fi
@@ -50,6 +53,8 @@ while true ; do
days=$2; shift 2 ;;
--output)
dirname=$2; shift 2 ;;
+ --exclude-indexes)
+ exclude_indexes='--exclude-indexes'; shift ;;
--) shift ; break ;;
*) echo "Unknown error parsing the command line!" ; exit 1 ;;
esac
@@ -57,7 +62,7 @@ done
for name in $(koha-list --enabled | grep -Fxv demo)
do
- koha-dump "$name" > /dev/null
+ koha-dump ${exclude_indexes} "$name" > /dev/null
if [ -z "$dirname" ]; then
backupdir="$( xmlstarlet sel -t -v 'yazgfs/config/backupdir' /etc/koha/sites/$name/koha-conf.xml )";
else
--
2.20.1