Package: backupninja
Version: 0.9.1-1
Severity: normal

I'm running backupninja to do a duplicity backup. The local and remote
users both use zsh as their login shell. I'm backing up /etc, /home, and
a few other directories. I have an exclude=**/.svn line in my config
file, since /home has such directories in it.

[EMAIL PROTECTED]:/etc/backup.d>backupninja --now --debug
Info: >>>> starting action /etc/backup.d/10.sys (because of --now)
Debug: yes
Debug: dpkg --get-selections > /var/backups/dpkg-selections.txt
Debug: /usr/sbin/hwinfo --short --cpu --network --disk --pci  >>
/var/backups/hardware.txt
Info: <<<< finished action /etc/backup.d/10.sys: SUCCESS
Info: >>>> starting action /etc/backup.d/90.dup (because of --now)
Debug: yes
Debug: ssh  -o PasswordAuthentication=no chicken -l joey 'echo -n 1'
Debug: Connected to chicken as joey successfully
Debug: duplicity  --no-print-statistics --scp-command 'scp  -l 128'
--ssh-command 'ssh ' --encrypt-key 146B71F8 --sign-key 146B71F8
--remove-older-than 60D --exclude /home/joey/tmp --exclude
/home/joey/lib/chroot --exclude /home/joey/lib/dq --exclude /root/tmp
--exclude **/.svn --include /etc --include /usr/local --include /boot
--include /svn --include /var --include /root --include /home  --exclude
'**' / scp://[EMAIL PROTECTED]//home/joey/lib/backup/kite
zsh: no matches found: **/.svn
Fatal: Duplicity failed.
Fatal: <<<< finished action /etc/backup.d/90.dup: FAILED
Debug: send report to root
Info: FINISHED: 2 actions run. 1 fatal. 0 error. 0 warning.

Note the zsh: line. ** is a special glob pattern for zsh too, but it
seems to be to be a bug that it is filtering through to zsh at all. 
This is occurring due to the following in the dup script:

        output=`nice -n $nicelevel \
                  su -c \
                    "duplicity $execstr --exclude '**' / $execstr_serverpart 
2>&1"`

The su means that duplicity gets run by zsh -- and also means that one
level of quotes get stripped out, so glob patterns are seen by the login
shell, which means it's also subtly broken for non-zsh users, I think.

I haven't come up with a patch yet. I thought that replacing su -c with
sh -c would fix it, but that also fails, after /bin/sh manages to expand
the glob (to bin/.svn I think). Fixing the quoting of the exclude regexp
seems like the only real fix.

I think I've worked around it as follows in the config file:

exclude='**/.svn'

Although I've not verified yet if this actually excludes the .svn
directories from the backup.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.4.27
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages backupninja depends on:
ii  dialog                    1.0-20051030-1 Displays user-friendly dialog boxe
ii  gawk                      1:3.1.4-2.0.1  GNU awk, a pattern scanning and pr
ii  mawk                      1.3.3-11       a pattern scanning and text proces

backupninja recommends no packages.

-- no debconf information

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature

Reply via email to