NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Betriebssysteme (http://www.netvision-technik.de/forum/forumdisplay.php?f=8)
-   -   [Tut]Crontab anlegen (http://www.netvision-technik.de/forum/showthread.php?t=5574)

Zero111 16.07.2010 14:46

[Tut]Crontab anlegen
 
Viele verzweifeln an den richtigen anlegen eines Crontabs, obwohl es ziemlich simpel ist:

Ein Crontab besteht aus 6 durch ein leerzeichen getrennten Werten:

Die Bedeutung der Werte in Reienfolge:

Minuten : Minute an den Crontab ausgeführt werden soll

Stunde: Die Stunde

Tag: Der Tag im Monat an dem der Crontab ausgeführt werden soll

Monat: Der Monat

Wochentag: 0-6 (0=Sonntag)

Kommando: der Programmaufruf (gleiche Syntax wie in der shell jedoch mit absoluten Pfadangaben)


Werte Kombienieren

Wenn ein Cronjob mehrmals am tag/monat/jahr ect durchlaufen soll kann man werte kombinieren

Zb:

Code:

1-6  = Cronjob wird zb von 1-6 Uhr ausgeführt
zb:

Code:

1-6 * * * * Kommando
(Crontab wird 6 mal pro stunde ausgeführt jeweils Minute 1-6 [0:01, 0:02, 0:03usw)

oder

Code:

00 1-6 * * * Kommando
(Crontab wird von 1-6 Uhr zur jeder Vollen Stunde ausgeführt)

---

*/x : Crontab wird alle x Intervalle ausgeführt

zb

Code:

*/5 * * * * Kommando
(Crontab wird alle 5 Minuten ausgeführt)

Code:

* */2 * * * Kommando
(Crontab wird im 2 Stundentakt ausgeführt)


a,b,c : Cronjob wird um a, b und c ausgeführt

zb:

Code:

8,12,20 * * * * Kommando
(Crontab wird 3 mal in der stunde ausgeführt jeweils um Minute 8,12 und 20)

Kombination der Möglichkeiten:

Die oben genannten möglichkeiten lassen sich noch miteinander kombinieren (jetzt wirds schwer :D)

zb

Code:

* 1-6/2 * * Kommando
(Crontab wird zwischen 1-6 Uhr alle 2stunden ausgeführt)


Jetzt noch ein paar beispiele

Code:

00 03 01 * * /etc/init.d/reboot
Führt zum ersten eines Monats um 3:00 Nachts einen reboot aus

Code:

00 04 * * * rm -R /var/log
Löscht jede Nacht um 4 Uhr das Logverzeichnis

Code:

30 05 * * 1 /etc/init.d/apache2 restart
Apache Server wird jeden Montag um 5:30 Neugestartet

Code:

00 06 15 */2 * /etc/init.d/reboot
führt alle 2 Monate am 15. eines Monats um 6:00 einen Reboot aus

Code:

00 06 15 1-6/2 * /etc/init.d/reboot
Führt von Januar - Juni alle 2 Monate am 15. eines Monats um 6 uhr einen reboot aus

Code:

*/30 * * * * php /var/www/include/cleanup.php
Führt alle 30 Minuten jeweils um 00 und 30 die cleanup.php aus

Code:

00 6-22/2 * * * /root/datenbankbackup
führt von 6-22 Uhr alle 2 Stunden einen datenbank backup durch


Ich denke das reicht an beispielen ;)

Feudas 16.07.2010 15:39

nene das reicht nicht :D

ausgabe des programms oder des zu startenden scripts in eine log umleiten
Code:

* * * * * programmoderscript > /var/log/meincronlog.log
und etwas GANZ wichtiges
angeben welcher user soll dals ausführender benutzt werden.
root ist in diesem fall die user angabe, da kann man dann auch zb www-data stehen haben für ein php script das www-data gehört.
Code:

* * * * * root programmoderscript
das ist zb wichtig um scripte oder programme nicht als der user auszufüren der man ist ;)

Zero111 16.07.2010 15:45

ok das erste hab ich schlichtweg vergessen

und das 2. hab ich bisher auch noch nicht gewusst :D man lernt nie aus

Feudas 16.07.2010 15:47

dann erweiter doch das tut einfach um die beidneund lösch die zusatznachrichten irritiert doch nur :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.