Script für Cronjob schreiben?

Ministry

Member
Hi, ich mal wieder.
Ich versuche gerade ein Script für einen Cron zu schreiben.
Und ich bin natürlich (wie bei allem) nicht geübt darin.
Jetzt habe ich mich mal im Netz ein wenig Schlau gemacht.
Und folgendes zusammen gebastelt :
Code:
#!/bin/sh

cd /home/Ministry/programmverzeichnis 
JAIN = "pgrep -u Ministry programm"
if [$JAIN == 0]; 
then ./programm starten
fi
exit 0
Folgendes soll ablaufen :
In das Vereichnis wechseln...
Die Abfrage pgrep einer Variable zuordnen.....
Bedingung: wenn die Abfrage kein Ergenis zurückliefert
Dann : Starte das Programm

Alternativ noch sorum gebastelt :

Code:
#!/bin/sh
JAIN = "pgrep -u Ministry programm"
if [$JAIN == 0]; 
then /home/Ministry/programmverzeichnis ./programm starten
fi
exit 0
Jetzt meine Frage : Kann das Funktionieren und was kann schlimmstenfalls passieren, wenn ich einfach Skripte schreibe und zum testen mal ausführen lasse? Ich starte die ja nicht als root sondern immer nur als Ministry.

edit : Wie rufe ich Manpages mit (nummer) ab? Ich bekomme da immer nur Fehlermeldungen.
z.b. crontab (5)
 

admine

Member
AW: Script für Cronjob schreiben?

Ministry schrieb:
edit : Wie rufe ich Manpages mit (nummer) ab? Ich bekomme da immer nur Fehlermeldungen.
z.b. crontab (5)
Code:
man 5 crontab
Und wenn du das Script nur als User testest, dann kann nichts schlimmes passieren ;)
Kommt halt nur darauf an, ob der User in deinem Fall auch die Berechtigung hat das entsprechende Programm zu starten.
 

Ministry

Member
AW: Script für Cronjob schreiben?

Soderle...
Nach einigem Googlen und lesen und probieren habe ich tatsächlich etwas funktionierendes zustande gebracht :
Code:
#!/bin/sh


if [ '$(ps ax|grep -i '[a]nwendung")" ];
then exit 0;

else cd /pfad/zur/ausführbaren/datei
./datei_ausführen;

fi
exit 0
Diese Script überprüft, ob meine Anwendung noch läuft und startet diese ggf.

Jetzt noch eine kleine Frage zum Cron.
Ich habe in /etc/cron.d eine Datei angelegt mit folgendem Inhalt :
Code:
2 * * * * ministry /home/ministry/cronjobs/script
Wird dieses Script jetzt alle 2 Minuten unter dem user ministry ausgeführt?
Das mit dem Einrichten von Cronjobs habe ich nämlich immer noch nicht so wirklich kapiert.
 

admine

Member
AW: Script für Cronjob schreiben?

Ministry schrieb:
Jetzt noch eine kleine Frage zum Cron.
Ich habe in /etc/cron.d eine Datei angelegt mit folgendem Inhalt :
Code:
2 * * * * ministry /home/ministry/cronjobs/script
Wird dieses Script jetzt alle 2 Minuten unter dem user ministry ausgeführt?
Das mit dem Einrichten von Cronjobs habe ich nämlich immer noch nicht so wirklich kapiert.
Cron-Job aller 2 Minuten, dann sollte es so aussehen:
Code:
*/2 * * * * ministry /home/ministry/cronjobs/script
 

Ministry

Member
AW: Script für Cronjob schreiben?

Hi nochmal,

Also irgendwas scheint da nicht zu funktionieren.

Ich habe das Script manuell aufgerufen, es funktioniert.

Um das ganze als Cronjob einzurichten habe ich die Datei "script" (mit obigen Inhalt) in das Verzeichnis cron.d abgelegt.

Muss ich sonst noch was machen?
Dem Cron irgendwie sagen, dass es eine neue Datei zu berücksichtigen gilt?

Sorry, aber mein Englisch ist gerade gut genug für "Sorry" und ich hab mit den Manpages immer Verständnisprobleme.

So wie ich das kapiert hab, guckt der Cron automatisch in den verschiedenen Verzeichnissen, ob es da neue oder veränderte Dateien gibt.
 

Rain_Maker

Administrator
Teammitglied
AW: Script für Cronjob schreiben?

Cron-Demon neu starten?

Code:
su

(Passwort)

rccron restart
Greetz,

RM
 

Ministry

Member
AW: Script für Cronjob schreiben?

Ok jetzt hab ichs.
Ich musste erst den Cron-file meinem Benutzer zuordnen, da user Ministry noch keinen hatte.
ich habe dafür einfach den file in cron.d genommen, oder wäre es besser gewesen, noch einen extra-file anzulegen?
Jetzt habe ich allerdings noch mehr Prozesse am laufen, die wohl Mails verschicken sollen, es aber dann doch nicht machen. Jedenfalls bekomme ich keine :
Code:
31005 ?        S      0:00 /usr/sbin/sendmail -FCronDaemon -odi -oem Ministry
31009 ?        S      0:00 /usr/sbin/postdrop -r
 

Rain_Maker

Administrator
Teammitglied
AW: Script für Cronjob schreiben?

Hm,

Ich denke zu 2. kann ich nur sagen, daß man Cronjobs am besten so einrichtet:

Code:
crontab -u 'Username' -e
(In der Form muß man es als root ausführen)

oder
Code:
crontab -e
(Wenn Deine Programme auch mit Userrechten laufen, dann ist das wohl die bessere Wahl)

Ist halt vi, aber das ist der "normale" Weg.

Basics zu vi:

i => Einfügemodus

Eingaben machen
(Tipp) Vorher die Befehlszeile mit der Maus markieren und mit der Tastenkombination STRG-SHIFT-Einfg einfügen.

<ESC> => Einfügemodus verlassen

:wq => Abspeichern.

Mehr zu vi => http://www.linuxfibel.de/vi.htm

Greetz,

RM
 

Ministry

Member
AW: Script für Cronjob schreiben?

Rain_Maker schrieb:
Hm,

Ich denke zu 2. kann ich nur sagen, daß man Cronjobs am besten so einrichtet:

Code:
crontab -u 'Username' -e
(In der Form muß man es als root ausführen)

oder
Code:
crontab -e
(Wenn Deine Programme auch mit Userrechten laufen, dann ist das wohl die bessere Wahl)

Ist halt vi, aber das ist der "normale" Weg.
Yap, ich musste in meinem Fall halt :
Code:
crontab -u Ministry ministry
eingeben. Wobei ministry der Dateiname meine Crondatei ist, da ich die Sachen nicht als root laufen lassen möchte und somit eine eigene Datei brauche (Jedenfalls habe ich das so verstanden). Später muss ich dann immer editieren mit vi.

Rain_Maker schrieb:
Basics zu vi:

i => Einfügemodus

Eingaben machen
(Tipp) Vorher die Befehlszeile mit der Maus markieren und mit der Tastenkombination STRG-SHIFT-Einfg einfügen.

<ESC> => Einfügemodus verlassen

:wq => Abspeichern.

Mehr zu vi => http://www.linuxfibel.de/vi.htm

Greetz,

RM
Danke für den Tip.
Linuxfiebel hab ich mir gleich nen Link gesetzt. :)
 
Oben