Archiv verlassen und diese Seite im Standarddesign anzeigen : cron startet nichts?
Hallo,
folgendes hab ich planen lassen:
# crontab -l
30 * * * * ~/ipcheck/update
Nun startet das aber nicht alle 30min, muss ich noch irgendwas machen ?(
hmmm.... gibt es mail für root?
- absolute pfade für cron sind empfehlenswert
- wie sie das skript "update" aus?
ausserdem bedeutet das nicht "alle 30 min" ...das
was du eingestellt hast ist eher stündlich :-)
--> man cron
richtig wäre meines wissens
*/30 * * * * benutzername /home/benutzername/ipcheck/update
zumindest das erste auftreten von "benutzername" ist in der /etc/crontab obligatorisch.
desweiteren würde ich prüfen ob das script ausführbar ist (ls -l ~/ipcheck/update) und gegebenenfalls mit chmod +x update ausführbar machen.
es gibt mail für root, aber teilweise leiten systeme wie postfix diese standardmässig an einen "normalen" user weiter, vgl. /etc/postfix/aliases:
# Person who should get root's mail. This alias
# must exist.
# CHANGE THIS LINE to an account of a HUMAN
root: normaleruser
Mmh, hatte das so aus irgendeinem HowTo abgeschrieben :(
Hab's jetzt geändert, aber es startet immer noch nicht, ausführbar ist es
beinhalten tut es lediglich folgendes:
#!/bin/bash
cd ~/ipcheck
ipcheck -r checkip.dyndns.org:8245 holodoc password holo.gotdns.com
die man-page hatte ich mir als erstes angeschaut, konnte daraus aber auch nicht schlau werden
Mail für root funktioniert hier, die cron-Dinger sehen folgendermaßen aus:
From root@fileserver.home Mon Sep 29 03:30:02 2003
Envelope-to: root@fileserver.home
From: root@fileserver.home (Cron Daemon)
To: root@fileserver.home
Subject: Cron <root@holo-fileserver> root /root/ipcheck/update
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Date: Mon, 29 Sep 2003 03:30:02 +0200
hmm...mehr sagt er nicht in der mail?
dieses "cd ~/ipcheck" gefällt mir nicht so...
warum nicht gleich einen absoluten pfad wie
z.b. "/home/<user>/ipcheck/update"
du kannst die ausgabe von einen cron-eintrag in ein logfile umleiten.
würde dann so aussehen:
*/30 * * * * benutzername /home/<user>/ipcheck/update >> /var/log/ipcheck.log 2>&1
einfach mal testen und das logifle einfach mal hier posten ...wenn
es nicht gehen sollte.
:]
Wenn du das script als root ausführst, ist ~/ipcheck gleich /root/ipcheck. Da du das aber wahrscheinlich unter deinem normalen Benutzer liegen hast, solltest du den absoluten Pfad nehmen.
ich würde auch das cd ~/ipcheck mal durch eine vollständige pfadangabe vor dem programmnamen ersetzen.
mal ganz abgesehen von dem cron-problem. warum rufst du den ip-check nicht einfach nach erfolgtem verbindungsaufbau in der /etc/ppp/ip-up.local auf? falls die datei noch nicht existiert, einfach anlegen. imho ist in der /etc/ppp/ip-up bereits ein aufruf der ip-up.local vorgesehen sofern diese existiert.
Den absoluten Pfad hatte ich schon noch geändert, nur vergessen, das im Post zu editieren.
Danke für den Tipp mit dem logfile ;)
Selbiges sagte mir:
/bin/sh: line 1: root: command not found
Also hab ich das root wieder aus der crontab genommen, dann sagte er mir:
ipcheck: command not found
Also /usr/sbin davorgesetzt, nu funzts :) - aber wieso muss ich das tun, von der Oberfläche aus geht's doch auch so?
mal ganz abgesehen von dem cron-problem. warum rufst du den ip-check nicht einfach nach erfolgtem verbindungsaufbau in der /etc/ppp/ip-up.local auf?
Ich gehe über einen Router ins Netz, deswegen auch der Umweg über das Internet, um meine IP zu bestimmen.
wenn du auf der "oberfläche" bist dann benutzt du eine bestimmte arbeitumgebung wo ein paar mehr variablen gesetzt sind ($PATH).
über cron gestartete applikationen benutzt nur ein arbeitsumgenung die man ihnen selber mitgibt ...oder eben nur ein minimum! hat bei dir eben nicht gereicht.
Powered by vBulletin® Version 4.2.0 Copyright ©2013 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.