Als root (wie fast alles auf der Fritzbox); an Rechten kann es also nicht liegen. Bekommst du irgendwelche Fehlermeldungen von deinem Skript? (beim Testanruf oder mit aktiviertem Debug-Modus des Callmonitors im Syslog)
..
Nach einem Blick in die empty-Manpage wette ich, dass die relativen Dateinamen in "-i in -o out" das Problem sind. Vermutlich ist das Arbeitsverzeichnis, wenn dein Skript vom Callmonitor aufgerufen wird, nicht einmal beschreibbar (zumindest ist es unspezifiziert); so können die Dateien nicht erzeugt werden.
Ich habe den Debug-Modus aktiviert. Da erscheint rein gar nichts im Syslog (der Syslog-Daemon läuft), wenn ich mit dem Handy mich selbst anrufe.
Wenn ich das ganze über die Funktion Testanruf mache, dann sieht das wie folgt aus:
Code:
[0:2] parameter DEST='0797xxxxxxx' matches pattern '0797xxxxxxx'
[0:2] SUCCEEDED
[0:2] ACTION: '/var/tmp/reboot7050.sh'
Also so wie es aussieht ruft der Callmonitor schon
/var/tmp/reboot7050.sh
auf.
Wenn ich an der Konsole nach /var/tmp wechsle und dann mit ./reboot7050.sh das Skript ausführe, dann funktionierts, wenn der Callmonitor das macht, dann komischerweise nicht.
Und /var/tmp ist ja auf jeden Fall beschreibbar.
Und wenn Du sagst, fast alles wird auf der FB per root ausgeführt, dass denke ich, dass sowohl der Callmonitor als auch das Erzeugen der reboot7050.sh als root passiert.
Sprich wenn das, was unter rc.custom eingetragen ist, ausgeführt wird, dann auch als root. Sprich wenn dann ein chmod +x gemacht wird, dann ist root der Eigentümer und kann es dann starten und damit auch der Callmonitor.
empty habe ich in's Image einbauen lassen, und zwar unter /usr/bin
Zum Thema empty:
Du sagst, das Arbeitsverzeichnis ist nicht angegeben.
Wie kann ich das machen?
Und warum funktioniert es, wenn ich es selbst an der Konsole ausführe, während wenn der Callmonitor das macht, dann plötzlich nicht?
Zuletzt bearbeitet: