From 6d9a84686734e598249410bf60eedf2d7fd2e521 Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 18 Feb 2013 22:13:56 +0100 Subject: introduce helpers for mysql backups --- files/backup_helpers/mysql_extract_from_backup.sh | 17 +++++++++++++++++ manifests/server/backup_helpers.pp | 11 +++++++++++ manifests/server/base.pp | 1 + 3 files changed, 29 insertions(+) create mode 100644 files/backup_helpers/mysql_extract_from_backup.sh create mode 100644 manifests/server/backup_helpers.pp diff --git a/files/backup_helpers/mysql_extract_from_backup.sh b/files/backup_helpers/mysql_extract_from_backup.sh new file mode 100644 index 0000000..74914e9 --- /dev/null +++ b/files/backup_helpers/mysql_extract_from_backup.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +file=$1 +db=$2 +table=$3 + +if [ ! -f $file ] || [ -z $db ]; then + echo "USAGE: $0 file database [table] > dump_file" + exit +fi + +if [ -z $table ]; then + zcat $file | sed -n -e "/CREATE DATABASE.*${db}/,/CREATE DATABASE/p" | head -n -5 +else + zcat $file | sed -n -e "/CREATE DATABASE.*${db}/,/CREATE DATABASE/p" | sed -n -e "/CREATE TABLE.*${table}/,/CREATE TABLE/p" | head -n -8 +fi + diff --git a/manifests/server/backup_helpers.pp b/manifests/server/backup_helpers.pp new file mode 100644 index 0000000..564e2ab --- /dev/null +++ b/manifests/server/backup_helpers.pp @@ -0,0 +1,11 @@ +# Helpers for mysql servers +# In a dedicated class so they can +# also be pulled in somewhere else +class mysql::server::backup_helpers{ + file{'/usr/local/bin/mysql_extract_from_backup': + source => 'puppet:///modules/mysql/backup_helpers/mysql_extract_from_backup.sh', + owner => root, + group => 0, + mode => '0555'; + } +} diff --git a/manifests/server/base.pp b/manifests/server/base.pp index 8bdd865..14f3c1b 100644 --- a/manifests/server/base.pp +++ b/manifests/server/base.pp @@ -66,6 +66,7 @@ class mysql::server::base { if $mysql::server::backup_cron { include mysql::server::cron::backup + include mysql::server::backup_helpers } if $mysql::server::optimize_cron { -- cgit v1.2.3