Package: autopostgresqlbackup
Version: 1.0-5
Tags: patch

When using autopostgresqlbackup using the supplied config in
/etc/default/autopostgresqlbackup, it does backup as intended, but fails
to change back to the root directory afterwards:
"could not change directory to "/root": Permission denied" (reported as
error via email)

I think login-option of su should be used, so the commands are not run
in the /root directory (or from whereever autopostgresqlbackup was called).

I patched my autopostgresqlbackup as follows and it seems to work fine:

> --- usr/sbin/autopostgresqlbackup       2014-04-02 23:46:56.000000000 +0200
> +++ /usr/sbin/autopostgresqlbackup      2017-03-28 16:29:25.133861333 +0200
> @@ -357,9 +357,9 @@
>         for db in $1 ; do
>                 if [ -n "$SU_USERNAME" ]; then
>                         if [ "$db" = "$GLOBALS_OBJECTS" ]; then
> -                               su $SU_USERNAME -c "pg_dumpall $PGHOST 
> --globals-only" >> $2
> +                               su $SU_USERNAME -l -c "pg_dumpall $PGHOST 
> --globals-only" >> $2
>                         else
> -                               su $SU_USERNAME -c "pg_dump $PGHOST $OPT $db" 
> >> $2
> +                               su $SU_USERNAME -l -c "pg_dump $PGHOST $OPT 
> $db" >> $2
>                         fi
>                 else
>                         if [ "$db" = "$GLOBALS_OBJECTS" ]; then
> @@ -449,7 +449,7 @@
>  # If backing up all DBs on the server
>  if [ "$DBNAMES" = "all" ]; then
>         if [ -n "$SU_USERNAME" ]; then
> -               DBNAMES="$(su $SU_USERNAME -c "LANG=C psql -U $USERNAME 
> $PGHOST -l -A -F: | sed -ne '/:/ { /Name:Owner/d; /template0/d; s/:.*$//; p 
> }'")"
> +               DBNAMES="$(su $SU_USERNAME -l -c "LANG=C psql -U $USERNAME 
> $PGHOST -l -A -F: | sed -ne '/:/ { /Name:Owner/d; /template0/d; s/:.*$//; p 
> }'")"
>         else
>                 DBNAMES="`LANG=C psql -U $USERNAME $PGHOST -l -A -F: | sed 
> -ne "/:/ { /Name:Owner/d; /template0/d; s/:.*$//; p }"`"
>         fi

Reply via email to