aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2006-06-10 00:25:16 +0000
committerMicah Anderson <micah@riseup.net>2006-06-10 00:25:16 +0000
commitb5130c49410c6c1300b9c8f6246a61c4d1e66004 (patch)
tree1e5564c3d87a22b3d32e0b66c57096cedf7bdc09
parent489e294c50b6cba7545a110d26edd43e6b6e55ea (diff)
downloadbackupninja-b5130c49410c6c1300b9c8f6246a61c4d1e66004.tar.gz
backupninja-b5130c49410c6c1300b9c8f6246a61c4d1e66004.tar.bz2
Added in-line compression to pgsql and mysql handlers, appears to work fine in tests
-rw-r--r--ChangeLog2
-rw-r--r--handlers/mysql19
-rw-r--r--handlers/pgsql30
3 files changed, 32 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index b1e9fd7..09f0d0c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,11 +15,13 @@ version 0.9.4 -- unreleased
. Fixed erroneous removal of tmpfile when it didn't exit
. Fixed inversed vsname emptiness check
. Fixed su quote usage to be more posixy
+ . compress for sqldumps now happens in-line to save some disk space (Closes: #370778)
pgsql:
. Fixed inversed vsname emptiness check
. Fixed su quote usage to be more posixy
. Fixed shell expansion, thanks Thomas Kotzian (Closes: #363297)
. postgres user UID is now the one from inside the vserver if necessary
+ . compress now happens in-line to save some disk space (Closes: #370778)
svn:
. Fixed inversed vsname emptiness check
rdiff:
diff --git a/handlers/mysql b/handlers/mysql
index 52193f4..a19509b 100644
--- a/handlers/mysql
+++ b/handlers/mysql
@@ -249,9 +249,17 @@ fi
do
if [ $usevserver = yes ]
then
- execstr="$VSERVER $vsname exec $MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db > $vroot$dumpdir/${db}.sql"
+ if [ "$compress" == "yes" ]; then
+ execstr="$VSERVER $vsname exec $MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db | $GZIP > $vroot$dumpdir/${db}.sql.gz"
+ else
+ execstr="$VSERVER $vsname exec $MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db > $vroot$dumpdir/${db}.sql"
+ fi
else
- execstr="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db > $dumpdir/${db}.sql"
+ if [ "$compress" == "yes" ]; then
+ execstr="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db | $GZIP > $dumpdir/${db}.sql.gz"
+ else
+ execstr="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db > $dumpdir/${db}.sql"
+ fi
fi
debug "su $user -c \"$execstr\""
if [ ! $test ]
@@ -268,13 +276,6 @@ fi
fi
fi
done
-
- if [ "$compress" == "yes" ]
- then
- output=`$GZIP -f $vroot$dumpdir/*.sql 2>&1`
- debug $output
- fi
-fi
# clean up tmp config file
if [ "$dbusername" != "" -a "$dbpassword" != "" ]
diff --git a/handlers/pgsql b/handlers/pgsql
index 0c72c82..435bcca 100644
--- a/handlers/pgsql
+++ b/handlers/pgsql
@@ -76,9 +76,17 @@ chmod 700 $vroot$backupdir
# if $databases = all, use pg_dumpall
if [ "$databases" == "all" ]; then
if [ $usevserver = yes ]; then
- execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\""
+ if [ "$compress" == "yes" ]; then
+ execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${vsname}.sql.gz\""
+ else
+ execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\""
+ fi
else
+ if [ "$compress" == "yes" ]; then
+ execstr="su - postgres -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${localhost}-all.sql.gz\""
+ else
execstr="su - postgres -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\""
+ fi
fi
debug "$execstr"
if [ ! $test ]; then
@@ -96,11 +104,18 @@ if [ "$databases" == "all" ]; then
# else use pg_dump on each specified database
else
for db in $databases; do
- if [ $usevserver = yes ]
- then
- execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
+ if [ $usevserver = yes ]; then
+ if [ "$compress" == "yes" ]; then
+ execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
+ else
+ execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db | > $backupdir/${db}.sql\""
+ fi
else
- execstr="su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
+ if [ "$compress" == "yes" ]; then
+ execstr="su - postgres -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
+ else
+ execstr="su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
+ fi
fi
debug "$execstr"
if [ ! $test ]; then
@@ -117,10 +132,5 @@ else
done
fi
-if [ "$compress" == "yes" ]; then
- output=`$GZIP -f $vroot$backupdir/*.sql 2>&1`
- debug $output
-fi
-
return 0