Cronjob zum laufen bekommen - Wie?
Cronjob zum laufen bekommen - Wie?
Hallo,
nach dem ich Tutorials gelesen habe versuchte ich es aufegene Faust
meien Cronjob zum laufen zu bekommen.
Dazu hab ich folgendes in /ect/crontab
eingetragen:
* * * * root sh user.sh
Hab dan brav den Daemon neu gestartet mit rccron restart und gehofft
es laeuft. Leider tuts nicht / wobei es eigentlich minuetlich aufgerufen werden sollte.
Kann mir jemand weiterhelfen? DAnke im Voraus.
nach dem ich Tutorials gelesen habe versuchte ich es aufegene Faust
meien Cronjob zum laufen zu bekommen.
Dazu hab ich folgendes in /ect/crontab
eingetragen:
* * * * root sh user.sh
Hab dan brav den Daemon neu gestartet mit rccron restart und gehofft
es laeuft. Leider tuts nicht / wobei es eigentlich minuetlich aufgerufen werden sollte.
Kann mir jemand weiterhelfen? DAnke im Voraus.
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Cronjob zum laufen bekommen - Wie?
Woher soll Cron denn bitteschön wissen, wo deine user.sh liegt? Darüber hinaus kannst du dir bei richtiger Nutzung das anfängliche "sh" sparen.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Cronjob zum laufen bekommen - Wie?
gut, logisch gefolgert sollte es dann so aussehen was in /etc/crontab
steht:
* * * * root /etc/user.sh
das tut aber auch nicht, hab ich auch schon probiert
steht:
* * * * root /etc/user.sh
das tut aber auch nicht, hab ich auch schon probiert
Re: Cronjob zum laufen bekommen - Wie?
Probiers mal mit fünf Sternen ...
flo.
flo.
Re: Cronjob zum laufen bekommen - Wie?
hi flo,
stimmt, sollten 5 sein, was aber trotzdem nix an der Situation aendert.
jetzt schauts so aus:
* * * * * root /etc/user.sh
das Zeugs was da drueber steht, ist das wichtig oder nicht?
Ich bezieh mich auf
SHELL
PATH
MAILTO
das muesste doch per deauflt richtig eingestellt sein.
stimmt, sollten 5 sein, was aber trotzdem nix an der Situation aendert.
jetzt schauts so aus:
* * * * * root /etc/user.sh
das Zeugs was da drueber steht, ist das wichtig oder nicht?
Ich bezieh mich auf
SHELL
PATH
MAILTO
das muesste doch per deauflt richtig eingestellt sein.
Re: Cronjob zum laufen bekommen - Wie?
Das Script läuft aber?
Und liegt wirklich in /etc ???
Gut, WAS STEHT DENN DANN DARÃ?BER?
poste mal den kompletten crontab -l ...
flo.
Und liegt wirklich in /etc ???
Gut, WAS STEHT DENN DANN DARÃ?BER?
poste mal den kompletten crontab -l ...
flo.
Re: Cronjob zum laufen bekommen - Wie?
Code: Select all
chmod 0755 user.shPayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: Cronjob zum laufen bekommen - Wie?
hi flo,flo wrote:Das Script läuft aber?
Und liegt wirklich in /etc ???
Gut, WAS STEHT DENN DANN DARÃ?BER?
poste mal den kompletten crontab -l ...
flo.
ja, das Skript befindet sich in /etc und heisst auch user.sh
ausfuehrbar ist es auch - fehlerfrei natuerlich.
Es sind zwar ein paar echo drin, aber das sollte doch nix ausmachen, oder?
in /etc/crontab steht
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#blabla auskommentiert
#blabla auskommentiert
* * * * * root /etc/user.sh
#blabla auskommentiert
#blabla auskommentiert
#blabla auskommentiert
Re: Cronjob zum laufen bekommen - Wie?
moment ... crontab -l ... da ist das Userfeld nicht nötig.
/bin/sh sollte sowieso ein Link auf bash sein, Definition der Variablen steht am Gleichheitszeichen, also sollte das passen - wenn nicht, schau ins Log, da müsste was drinstehen.
flo.
/bin/sh sollte sowieso ein Link auf bash sein, Definition der Variablen steht am Gleichheitszeichen, also sollte das passen - wenn nicht, schau ins Log, da müsste was drinstehen.
flo.
Re: Cronjob zum laufen bekommen - Wie?
back to the roots,
wo find ich das Log das Du meinst?
wo find ich das Log das Du meinst?
Re: Cronjob zum laufen bekommen - Wie?
Meistens wird der Output auch an das Postfach des Benutzers also z.B. root geliefert.
Re: Cronjob zum laufen bekommen - Wie?
Hi, ich ahbe das gleiche problem ,
mein Cron zeigt zwar in der message an :
Jan 30 19:55:01 bravo715 /usr/sbin/cron[20535]: (root) CMD (/usr/local/bin/maildircheck.sh >/dev/null 2>&1)
Jan 30 19:55:01 bravo715 /usr/sbin/cron[20537]: (root) CMD (/usr/bin/mrtg /etc/mrtg/mrtg.cfg)
Jan 30 19:55:01 bravo715 /usr/sbin/cron[20539]: (root) CMD (root etss.sh)
aber er führt das script etss.sh einfach nicht aus :-(
editiert habe ich so:
crontab -e
dann
*/1 * * * * etss.sh
das script liegt im / verzeichnis
Gruss Sven
mein Cron zeigt zwar in der message an :
Jan 30 19:55:01 bravo715 /usr/sbin/cron[20535]: (root) CMD (/usr/local/bin/maildircheck.sh >/dev/null 2>&1)
Jan 30 19:55:01 bravo715 /usr/sbin/cron[20537]: (root) CMD (/usr/bin/mrtg /etc/mrtg/mrtg.cfg)
Jan 30 19:55:01 bravo715 /usr/sbin/cron[20539]: (root) CMD (root etss.sh)
aber er führt das script etss.sh einfach nicht aus :-(
editiert habe ich so:
crontab -e
dann
*/1 * * * * etss.sh
das script liegt im / verzeichnis
Gruss Sven
Re: Cronjob zum laufen bekommen - Wie?
Dann solltest Du das dem Herrn Cron auch so sagen ... probier einen absoluten Pfad - d.h. /etss.shSziebeck wrote: Jan 30 19:55:01 bravo715 /usr/sbin/cron[20539]: (root) CMD (root etss.sh)
<...>
*/1 * * * * etss.sh
das script liegt im / verzeichnis
flo.
Re: Cronjob zum laufen bekommen - Wie?
1. Wo kann man crontabs ablegen?dingoss wrote:* * * * root sh user.sh
Cron liest /etc/crontab und alle Dateien in /etc/cron.d. Diese Dateien haben das "Format mit Userfeld".
Cron sucht außerdem in /var/spool/cron/tabs nach Dateien, die mit "crontab -e" von einem User angelegt worden sind und die so heißen, wie der User, der sie angelegt hat. Diese Dateien haben das "Format ohne Userfeld".
/etc/crontab gehört zum System und sollte niemals vom Admin geändert werden. /etc/cron.d/-Dateien werden von rpm-Packages installiert, heißen meist so wie das Package und sollten ebenfalls nicht vom Admin installiert oder geändert werden.
2. Wie sieht eine Crontab aus.
Alle Crontabs haben fünf Felder für Zeitangaben. Bei Crontabs mit Userfeld kommt dann ein Username als sechstes Feld. Alle folgenden Felder sind das Kommando und seine Parameter. Bei Crontabs ohne Userfeld entfällt das Userfeld, sodaß das Kommando Feld 6 und die folgenden belegt.
Die fünf ersten Felder geben die Zeit an, zu der ein Kommando ausgeführt wird. Die Felder sind von links nach rechts Minuten, Stunden, Tage, Monate und Wochentagsnummer. Wenn ein Feld "*" heißt, bedeutet dies "jeden".
* * * * * /usr/bin/touch /tmp/blafasel
wird also jede Minute, jede Stunde, jeden Tag, jeden Monat an jedem Wochentag das Kommando "/usr/bin/touch /tmp/blafasel" ausführen.
Die Felder werden miteinander ver-und-et.
50 12 * * 0 /usr/bin/touch /tmp/blafasel
wird also jeden Sonntag um 12:50 ausgeführt, also wenn es Wochentag 0 und Stunde 12 und Minute 50 ist.
Man kann Listen angeben:
0,10,20,30,40,50 * * * 0 /usr/bin/touch /tmp/blafasel
wird ausgeführt, wenn es Wochentag Nummer 0 UND (0 oder 10 oder 20 oder 30 oder 40 oder 50) Minuten ist. Also den ganzen Sonntag alle 10 Minuten genau auf dem 10-Minuten-Intervall.
3. Wie sieht das Environment von Cronjobs aus?
Dazu schreibt man sich /usr/local/bin/showme.sh:
Code: Select all
#! /bin/bash --
(
echo "user id:"
/usr/bin/id
echo
echo "current directory:"
pwd
echo
echo "Environment:"
/usr/bin/printenv | /usr/bin/sort
echo
) > /tmp/showme.outCode: Select all
# cd
# echo "* * * * * /usr/local/bin/showme.sh" > crontab.root
# crontab crontab.root
# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (x installed on Mon Jan 30 21:37:00 2006)
# (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
* * * * * /usr/local/bin/showme.shMit
Code: Select all
# crontab -r4. Wie schreibe ich cronjobs die funktionieren?
Beachte den Output von showme.out: Cronjobs haben unter Umständen nicht das richtige aktuelle Verzeichnis und verwenden unter Umständen nicht denselben $PATH wie Du.
Fange einen Cronjob also mit Anweisungen an, die den PATH und das aktuelle Verzeichnis korrekt definieren. Sorge auch sonst dafür, daß das Environment korrekt konfiguriert ist ("export WASAUCHIMMER=wasauchimmer").
Code: Select all
#! /usr/bin/bash --
PATH=....
cd /...Setze also den PATH so, wie er auch bei Dir in Deiner Shell gesetzt ist und wechsle als erstes im Cronjob manuell in das Home-Verzeichnis.
Schreibe außerdem in Deinem Cronjob ein Log. Prüfe dazu den Exitstatus kritischer Befehle.
Sende bei Fehlern eine Mail an den Eigentümer des Cronjobs (manche Crons senden einem automatisch den Stdout und das Stderr von Cronjobs zu, sodaß man hier nur ein "echo" einbauen muß, um Fehler zu melden.)
Verwende im Zweifel vollständige Pfadnamen für Kommandos und Logdateien.
-
rootmaster
- Posts: 483
- Joined: 2002-04-28 13:30
- Location: Hannover
Re: Cronjob zum laufen bekommen - Wie?
nicht zu vergessen, dass man bei änderungen an der zentralen crontab dem cron ein SIGHUP senden sollte ;)isotopp [sehr ausführlich beschrieben] wrote:dingoss wrote:* * * * root sh user.sh
1. Wo kann man crontabs ablegen?
Cron liest /etc/crontab und alle Dateien in /etc/cron.d. Diese Dateien haben das "Format mit Userfeld".
Cron sucht außerdem in /var/spool/cron/tabs nach Dateien, die mit "crontab -e" von einem User angelegt worden sind und die so heißen, wie der User, der sie angelegt hat. Diese Dateien haben das "Format ohne Userfeld".
/etc/crontab gehört zum System und sollte niemals vom Admin geändert werden. /etc/cron.d/-Dateien werden von rpm-Packages installiert, heißen meist so wie das Package und sollten ebenfalls nicht vom Admin installiert oder geändert werden.
[...]
ansonsten, respekt für die muße zur ausführlichen antwort 8)
"back to the roots"
Re: Cronjob zum laufen bekommen - Wie?
Aber wieso ging das bei dem anderen Server so einfach ???
Wenn ich euch richtig verstanden habe ,muss aich also ein file erstellen ,und in den etc/cron.d legen ???
MFG
Sven
Wenn ich euch richtig verstanden habe ,muss aich also ein file erstellen ,und in den etc/cron.d legen ???
MFG
Sven
Re: Cronjob zum laufen bekommen - Wie?
hochblätterSziebeck wrote:Wenn ich euch richtig verstanden habe ,muss aich also ein file erstellen ,und in den etc/cron.d legen ???
Ã?h, nein, hast Du nicht richtig verstanden.Isotopp wrote: /etc/cron.d/-Dateien werden von rpm-Packages installiert, heißen meist so wie das Package und sollten ebenfalls nicht vom Admin installiert oder geändert werden.
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Cronjob zum laufen bekommen - Wie?
Wie viel Hilfe willst du eigentlich noch? Ausführlicher und besser geht's ja wohl kaum noch. *kopfschüttel*
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Cronjob zum laufen bekommen - Wie?
Ich muss leider sagen ,das das forum hier etwas von eingebildet hat !
Ich habe alles getan ,und es funzt trotzdem nicht !
Toll wie ihr helfen könnt ,mit dummen sprüchen ,ihr seid die helden!
Ein Forum wird immer beschissener ,je mehr leute da sind ,schade ,ich habe das Forum besser in ereinnerung ...
Egal ,ist halt schwund! :idea:
Ich habe alles getan ,und es funzt trotzdem nicht !
Toll wie ihr helfen könnt ,mit dummen sprüchen ,ihr seid die helden!
Ein Forum wird immer beschissener ,je mehr leute da sind ,schade ,ich habe das Forum besser in ereinnerung ...
Egal ,ist halt schwund! :idea:
Re: Cronjob zum laufen bekommen - Wie?
[OT]
http://www.rootforum.org/forum/viewtopic.php?t=24436
http://www.rootforum.org/forum/viewtopic.php?t=23200
[/OT]
http://www.rootforum.org/forum/viewtopic.php?t=24436
http://www.rootforum.org/forum/viewtopic.php?t=23200
[/OT]
Gruß Christian
BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error
BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error
-
goresplatter
- Posts: 15
- Joined: 2006-01-20 00:28
- Location: Halle (Saale)
- Contact:
Re: Cronjob zum laufen bekommen - Wie?
Ich hatte am Anfang auch das Problem mit Herrn Cron, der alles, nur nix, was ich wollte gemacht hat. (<ENDE DAU Aussage>
)
Bei mir hat's geholfen, dem crontab-Editor direkt einen User-Namen anzugeben:
Danach wird die crontab für <some_user> angezeigt und Du kannst die editieren. Dafür sparst Du die die explizite Angabe des user-Namens in der job-Zeile:
Danach hat's auch mit meinem Nachbarn geklappt...[/color]
Bei mir hat's geholfen, dem crontab-Editor direkt einen User-Namen anzugeben:
Code: Select all
crontab -u <some_user> -eCode: Select all
* * * * * /usr/bin/slursh.pl