summaryrefslogtreecommitdiff
path: root/byteback-mysql/pre-backup.d/00-mysql
diff options
context:
space:
mode:
authorSteve Kemp <steve@steve.org.uk>2016-09-21 14:26:09 +0300
committerSteve Kemp <steve@steve.org.uk>2016-09-21 14:26:09 +0300
commitf61507920beeffa925c1dd13d76939e0352e2ae7 (patch)
treeb99cbb2a61e0d1f0f48dd11877df64b1371729cb /byteback-mysql/pre-backup.d/00-mysql
parentbcfddd9c4bec12260abcdf105d918ff82a279794 (diff)
Import byteback-mysql scripts/files from jlawrie.
Diffstat (limited to 'byteback-mysql/pre-backup.d/00-mysql')
-rwxr-xr-xbyteback-mysql/pre-backup.d/00-mysql31
1 files changed, 31 insertions, 0 deletions
diff --git a/byteback-mysql/pre-backup.d/00-mysql b/byteback-mysql/pre-backup.d/00-mysql
new file mode 100755
index 0000000..edfcd56
--- /dev/null
+++ b/byteback-mysql/pre-backup.d/00-mysql
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+
+use Data::Dumper;
+
+use lib '/etc/byteback/scripts.d';
+use Bytemyback::ini qw(readconf writeconf generateconf);
+
+# Shim script to determine which MySQL backup(s) to run if any
+
+my %config = Bytemyback::ini::readconf();
+if (!%config) {
+ %config = Bytemyback::ini::generateconf();
+}
+
+# Backup directory shouldn't be world-readable
+system("mkdir -p /var/backups/byteback");
+system("chmod 700 /var/backups/byteback");
+
+# List of each script to run (not mutually exclusive). Generated automatically if it doesn't exist
+
+my $backup_method = $config{'backup_method'};
+
+foreach my $method (keys %$backup_method) {
+ next unless $backup_method->{$method};
+ print "Running /etc/byteback/scripts.d/Bytemyback/${method} pre\n";
+ `/etc/byteback/scripts.d/Bytemyback/${method} pre` if (-x "/etc/byteback/scripts.d/Bytemyback/${method}");
+ print "Finished /etc/byteback/scripts.d/Bytemyback/${method} pre\n";
+}