On Mon, May 20, 2019 at 11:50:13PM +0200, Noth wrote:
> Hi misc@,
>
>
> I'm trying to run daily backups to a sftp server for various VMs and
> devices on my network, and want to use /etc/daily.local for this. I'm
> calling this script from the daily.local file:
>
> env 'GNUPG="/usr/local/bin/gpg" PASSPHRASE="mypassword"'
> /root/duplicity-hostname.sh
>
> but unfortunately duplicity can't find gnupg and errors out with this error
> message:
>
> Traceback (innermost last):
> File "/usr/local/bin/duplicity", line 1562, in <module>
> with_tempdir(main)
> File "/usr/local/bin/duplicity", line 1548, in with_tempdir
> fn()
> File "/usr/local/bin/duplicity", line 1387, in main
> action = commandline.ProcessCommandLine(sys.argv[1:])
> File "/usr/local/lib/python2.7/site-packages/duplicity/commandline.py",
> line 1088, in ProcessCommandLine
> globals.gpg_profile = gpg.GPGProfile()
> File "/usr/local/lib/python2.7/site-packages/duplicity/gpg.py", line 92, in
> __init__
> self.gpg_version = self.get_gpg_version(globals.gpg_binary)
> File "/usr/local/lib/python2.7/site-packages/duplicity/gpg.py", line 107,
> in get_gpg_version
> res = gnupg.run(["--version"], create_fhs=["stdout"])
> File "/usr/local/lib/python2.7/site-packages/duplicity/gpginterface.py",
> line 374, in run
> create_fhs, attach_fhs)
> File "/usr/local/lib/python2.7/site-packages/duplicity/gpginterface.py",
> line 423, in _attach_fork_exec
> self._as_child(process, gnupg_commands, args)
> File "/usr/local/lib/python2.7/site-packages/duplicity/gpginterface.py",
> line 462, in _as_child
> os.execvp(command[0], command)
> File "/usr/local/lib/python2.7/os.py", line 346, in execvp
> _execvpe(file, args)
> File "/usr/local/lib/python2.7/os.py", line 382, in _execvpe
> func(fullname, *argrest)
> OSError: [Errno 2] No such file or directory
>
> GPGError: failed to determine gnupg version of None from
>
>
> duplicity-hostname.sh content:
>
> #!/bin/ksh
> PASSPHRASE=mypassword
> /usr/local/bin/duplicity incremental /var sftp://user@backuphost:/hostname/var
> /usr/local/bin/duplicity incremental /etc sftp://user@backuphost:/hostname/etc
> /usr/local/bin/duplicity incremental /root
> sftp://user@backuphost:/hostname/root
>
> Can daily.local even handle this or is the environment too limited?
daily.local is run by cron which sets:
PATH=/bin:/sbin:/usr/bin:/usr/sbin
Try setting this in your script:
PATH=${PATH}:/usr/local/bin
--
Antoine