Ich habe eine Datei („IPcontainer“), die eine einzelne IP-Adresse enthält, und möchte sie folgendermaßen verwenden:
6tunnel 80 $(< IPcontainer) 80
Leider funktioniert dies nur, wenn ich es manuell mache, und nicht, wenn ich es als Cronjob verwende, wie folgt:
0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80
Soweit ich weiß, basiert cron auf absoluten Pfaden.
Wie muss ich es ändern, damit es funktioniert?
Antwort1
Das liegt daran, dass standardmäßig cron
verwendet wird - was die Syntax nicht unterstützt/bin/sh
$(< file)
Sie können entweder ersetzen
$(< /home/<MYUSERNAME>/IPcontainer)
durch den POSIX
$(cat /home/<MYUSERNAME>/IPcontainer)
oder sagen Sie cron
explizit, dass Bash verwendet werden soll
SHELL=/bin/bash
0 * * * * 6tunnel 80 $(< /home/<MYUSERNAME>/IPcontainer) 80
Siehe auch