diff --git a/ChangeLog b/ChangeLog index b1e9fd700ddfcf2dc6d9284d8398a60b0972131a..09f0d0c4d06bd14a7f50f380755ea41ade55ccd8 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 52193f4ec0afa8642dd0daaf7ddc299315952f1f..a19509bf062545b0192b42db6974d49fa9a5d060 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 0c72c82ec04294ee6a0f610a1e196aa9f9be2c0a..435bccab92bb0af12616c232b05bc864e9c34250 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