Blutschlumpf
Fleet Admiral
- Registriert
- März 2001
- Beiträge
- 20.621
Moin,
ich würde gerne mal wissen wo für das System der Unterschied liegt wenn ich einen Befehl manuell über die Console aufrufe oder alternativ über den crontab des Users.
Gibt es eine einfache Möglichkeit dem System vorzugaukeln, dass da jemand manuell Sachen ausführt (also einfacher als ne über ssh den INPUT über ne Session vorzutäuschen).
Hintergrund:
Ich versuche hier gerade folgenden Befehl auszuführen: "/etc/init.d/smokeping restart"
Manuell funktioniert das wunderbar (als root, direkt wie auch in nem bash-Script), sobald ich das per cron (natürlich auch als root) versuche passiert gar nichts, egal ob direkt oder in nem Script.
Unter /var/log/syslog wird zwar angegeben dass cron den Script oder Befehl ausführt, aber es passiert offenbar nicht oder es bricht ohne jegliche Meldung ab.
Das gleiche funktioniert mit anderen Daemons (z.B. Apache) auch über cron, drum gehe ich jetzt nicht von einem Syntax- oder Logikfehler aus.
Edit:
Den Fehler hier im Speziellen habe ich jetzt gefunden, wenn man sich den cron-output per mail schicken lässt kommt das raus:
smokeping/etc/init.d/smokeping: line 130: start-stop-daemon: command not found
failed!
Wenn man den absoluten Pfad im init-script einsetzt klappts.
Die Frage bleibt dennoch offen, wie bekomme ich den cron dazu die selbe Umgebung mit allen Pfadvariablen etc. zu haben wie wenn ich direkt von der Konsole starte ?
ich würde gerne mal wissen wo für das System der Unterschied liegt wenn ich einen Befehl manuell über die Console aufrufe oder alternativ über den crontab des Users.
Gibt es eine einfache Möglichkeit dem System vorzugaukeln, dass da jemand manuell Sachen ausführt (also einfacher als ne über ssh den INPUT über ne Session vorzutäuschen).
Hintergrund:
Ich versuche hier gerade folgenden Befehl auszuführen: "/etc/init.d/smokeping restart"
Manuell funktioniert das wunderbar (als root, direkt wie auch in nem bash-Script), sobald ich das per cron (natürlich auch als root) versuche passiert gar nichts, egal ob direkt oder in nem Script.
Unter /var/log/syslog wird zwar angegeben dass cron den Script oder Befehl ausführt, aber es passiert offenbar nicht oder es bricht ohne jegliche Meldung ab.
Das gleiche funktioniert mit anderen Daemons (z.B. Apache) auch über cron, drum gehe ich jetzt nicht von einem Syntax- oder Logikfehler aus.
Edit:
Den Fehler hier im Speziellen habe ich jetzt gefunden, wenn man sich den cron-output per mail schicken lässt kommt das raus:
smokeping/etc/init.d/smokeping: line 130: start-stop-daemon: command not found
failed!
Wenn man den absoluten Pfad im init-script einsetzt klappts.
Die Frage bleibt dennoch offen, wie bekomme ich den cron dazu die selbe Umgebung mit allen Pfadvariablen etc. zu haben wie wenn ich direkt von der Konsole starte ?
Zuletzt bearbeitet: