[Gelöst] Script läuft via Shell aber nicht via cron

thorwin

Well-Known Member
Moin,

ich habe hier einen Server unter 5.4-amd64, der mich etwas ärgert. Ich habe ein Backup-Skript, das via duplicity Daten verschlüsselt auf ein Strato HiDrive sichert. Im Kern geht es um folgendn Aufruf:
Code:
CMD="/usr/local/bin/duplicity ${TYPE} -v5 ${GPGOPT} ${SSHOPT} ${EXCLUDE} /${DIR} ${BAC}/${XDIR} >> ${LOGDIR}/${XDIR}.log"
eval ${CMD}

In $SSHOPT wird explicit das zu verwendende Identity-File gesetzt. Starte ich das ganze nun via Shell, ist alles wunderbar, läuft das Skript via cron, fällt es mit folgendem Fehler auf die Nase:

Code:
Using archive dir: /var/log/.cache/duplicity/7aaf6df14d99fefd466cc6094a8ea998
Using backup name: 7aaf6df14d99fefd466cc6094a8ea998
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.cloudfilesbackend Succeeded
Import of duplicity.backends.ftpbackend Succeeded
Import of duplicity.backends.ftpsbackend Succeeded
Import of duplicity.backends.gdocsbackend Succeeded
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.sshbackend Succeeded
Import of duplicity.backends.tahoebackend Succeeded
Import of duplicity.backends.u1backend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
The authenticity of host 'sftp.hidrive.strato.com' can't be established.
SSH-RSA key fingerprint is 2a:7d:3a:04:bd:df:02:7f:05:4b:ea:8b:32:00:47:91.
Are you sure you want to continue connecting (yes/no)? Using temporary directory /tmp/duplicity-MDk5FG-tempdir
Backend error detail: Traceback (most recent call last):
  File "/usr/local/bin/duplicity", line 1414, in <module>
  with_tempdir(main)
  File "/usr/local/bin/duplicity", line 1407, in with_tempdir
  fn()
  File "/usr/local/bin/duplicity", line 1260, in main
  action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/local/lib/python2.7/site-packages/duplicity/commandline.py", line 1013, in ProcessCommandLine
  backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/local/lib/python2.7/site-packages/duplicity/commandline.py", line 906, in set_backend
  globals.backend = backend.get_backend(bend)
  File "/usr/local/lib/python2.7/site-packages/duplicity/backend.py", line 161, in get_backend
  return _backends[pu.scheme](pu)
  File "/usr/local/lib/python2.7/site-packages/duplicity/backends/_ssh_paramiko.py", line 182, in __init__
  self.config['port'],e))
BackendException: ssh connection to XXX@sftp.hidrive.strato.com:22 failed: EOF when reading a line

Offensichtlich ignoriert er die /root/.ssh/known_hosts, wenn das Skript via cron aufgerufen wird. :ugly:

Weiß hier jemand Rat? Ich vermute ja eine total banale Ursache, sehe aber grade den Wald nicht vor lauter Bäumen...
 
*örks* nein, es ist viel einfacher... :ugly:

In /etc/crontab steht HOME=/var/log :(

Wenn ich das Skript mit
Code:
HOME=/root backup
starte, ist alles gut.

Schön, dass wir drüber reden konnten :D
 
Zurück
Oben