

	\documentclass[a4paper,11pt]{article}
	\usepackage{ngerman}
	\usepackage[latin1]{inputenc}
	\setlength\parskip{\medskipamount}
	\setlength\parindent{0pt}
	\begin{document}

	
 % cron
 % Copyright JC Pollman
 % Lizenz: GPL
 % 
 % $Name: $
 % $Revision: 1.4.2.9 $
 % $Source: /cvsroot/selflinux/tutorial/adminbasics/cron/cron,v $
 % SelfLinux-0.7.2
 %
 % Diese Datei ist Teil von SelfLinux http://www.selflinux.de
 %
 %%% $Id: cron,v 1.4.2.9 2002/12/01 19:43:53 std Exp $

	\title{cron}


	
	    \author{JC Pollman}
	    %\url{mailto:jpollman@bigfoot.com}
    

	\maketitle

	
	
	%\ref{../index.tex}
	
		%\ref{adminbasics1.tex}
		Elementare Systemverwaltung
	\ref{cron}

    \par{Layout}
    Matthias Hagedorn
	    %\url{mailto:herbert-kw@t-online.de}
    
    	\par{Lizenz}
	GPL
 
	\tableofcontents{}

        
	\section{cron} \label{d32e75}
        	

  

   
  \par
  
Linux bietet etliche Programme für das Automatisieren von
Aufgaben. Ein Beispiel ist {\bf cron}. Beim Booten
wird ein {\bf cron} Daemon
gestartet und im Normalbetrieb nicht beendet.
{\bf Cron} ist für sich wiederholende Aufgaben zuständig, die
automatisch zu bestimmten Zeiten stattfinden sollen.
   

   
  \par
  
{\bf Cron} liest die {\bf crontab}-Datei, um seine Informationen zu erhalten. Das
System und jeder User haben ihre eigenen {\bf crontab}-Dateien. 
Die des Systems befindet sich in {\bf /etc/crontab}. Verändern Sie diese bloß
nicht! Selbst der Benutzer root sollte seine eigene Datei erzeugen.
   

   
  \par
  
Erzeugen der root {\bf crontab}-Datei: 
Als erstes definieren Sie die {\bf EDITOR}-Variable. Wahrscheinlich ist es
das beste, die Einstellungen in  {\bf /etc/profile} zu machen, damit sie für
alle Benutzer beim Anmelden gelten. Öffnen Sie die {\bf /etc/profile} und
fügen Sie diese beiden Zeilen hinzu: 
   

   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
/etc/profile
    \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
         
  EDITOR=vi
  export EDITOR
    \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

   
  \par
  
Wenn Sie einen anderen Editor als {\bf vi} bevorzugen, ändern Sie die Zeilen
entsprechend. Sie müssen sich aus- und wieder einloggen, um die
Änderung wirksam zu machen.
Dann tippen Sie
   

   

    \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
     crontab /etc/crontab
     \end{scriptsize} \end{tt} \linebreak 

   

   
  \par
  
ein.
Das Kommando wird eine {\bf crontab}-Datei für Sie erzeugen, die eine Kopie
der System {\bf crontab}-Datei ist. Editieren Sie nun ihre Datei mit:
   

   

    \begin{tt} \begin{scriptsize} user@linux \~{}/ \$ 
    crontab -e
     \end{scriptsize} \end{tt} \linebreak 

   

   
  \par
  
Beachten Sie, daß {\bf crontab} sowohl der Name der Datei, als auch der Name
des ausführbaren Programmes ist, ähnlich wie {\bf passwd}. Die erzeugte Datei
wird in etwa wie diese Konfiguration aussehen (dies ist eine 
RedHat-Datei):
   

   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
Konfiguration RedHat-Datei
    \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
         
SHELL=/bin/bash
PATH=/sbin:/bin/:/usr/sbin/:/usr/bin
MAILTO=root
HOME=/

#run-parts
01 * * * * root run-parts /etc/cron.hourly
01 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
     \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

   
  \par
  
Löschen Sie alles nach der {\bf HOME=/} Zeile, da das nicht die Aktionen
sind, die Sie ausführen wollen. Ändern Sie außerdem den Pfad so, daß
er in das Verzeichnis zeigt, in dem Sie Ihre Skripte speichern.
Jede Zeile im {\bf crontab} führt ein eigenes Programm aus. Die Zeilen
haben ein spezielles Format:
   
 
   
  \par
  
Fünf Zeitfelder, gefolgt von dem auszuführenden Programm. Beachten
Sie: Im System-{\bf crontab} ist ein weiteres Feld, das {\bf cron} anweist, das
Programm als spezieller User auszuführen (z. B. root). In einem
User-{\bf crontab} wird dieses Feld ignoriert. Die fünf Zeitfelder sind:
   

   
  \par
  
Minuten  Stunden  Tag-des-Monats  Monat  Wochentag
   

   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
Auszug aus der Manual-Page
    \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
         
Die Zeit- und Datumsfelder sind:
       
Minute           0-59
Stunde           0-23
Tag-des-Monats   1-31
Monat            1-12 (oder Namen, siehe unten)
Wochentag        0-7 (0 oder 7 ist Sonntag oder Namen)

Ein Feld kann ein Stern (*) sein, was immer für
"Erster-Letzter" steht.

Zahlenbereiche sind erlaubt. Bereiche sind zwei Zahlen,
getrennt durch einen Bindestrich. Die angegebenen Grenzen sind
inklusive.
Beispielsweise: 8-11 in "Stunde" bewirkt die Ausführung um 8,
9, 10, 11 Uhr.

Listen sind erlaubt. Eine Liste ist eine Menge von Nummern
(oder Bereichen), getrennt durch Kommata.
Beispiele: "1,2,5,9" , "0-4,8-2". [Keine Hochkommata, Anmerkung
des Übersetzers]

Schrittweiten können in Verbindung mit Bereichen genutzt
werden. Hinter einem Bereich mit "/<Schrittweite>" angegeben,
bestimmt die Schrittweite, ob Werte innerhalb des Bereiches
übersprungen werden.
Beispiel: "0-23/2" kann unter Stunden benutzt werden, um ein
spezielles Kommando alle zwei Stunden auszuführen. Die
Alternative wäre:
"0,2,4,6,8,10,12,14,16,18,20,22". Schrittweiten sind auch nach
Sternen (*) erlaubt, "alle zwei Stunden" läßt sich auch durch
"*/2" beschreiben.

Namen können für "Monat" und "Wochentag" benutzt
werden. Benutzen Sie die ersten drei Buchstaben des
entsprechenden Tages oder Monats (Groß-/Kleinschreibung wird
nicht beachtet). Bereiche oder Listen sind mit Namen nicht
erlaubt.
     \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

   
  \par
  
So. Hier nun ein Beispiel:
   

   
  \par
  
Wenn wir ein Backup-Skript haben, das um 5 Minuten nach 1 Uhr
morgens jeden Tag laufen soll, würde die zugehörige {\bf crontab}-Datei
folgendermaßen aussehen:
   

   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
Backup-Skript
    \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
         
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
MAILTO=root
HOME=/

5 1 * * * /usr/local/bin/run-backup
     \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}

   
  \par
  
Dies teilt die Beendigung der Aufgabe dem Nutzer ''root'' mit.
Wenn Sie mit dem Ablauf des Skriptes run-backup zufrieden und 
der Benachrichtigungen überdrüssig sind, ändern Sie die {\bf MAILTO}-Zeile
folgendermaßen: 
   

   \begin{tabular}{|l|}
                  \hline
                  \begin{tt} 
        
run-backup
    \end{tt} \\ 
                  \hline
                  \begin{minipage}{130mm} 
                  \begin{scriptsize} 
                  \begin{verbatim} 
          MAILTO=""  \end{verbatim} 
                  \end{scriptsize} 
                  \end{minipage} \\
                  \hline
                  \end{tabular}


   
  \par
  
Weitere Informationen finden sich in folgenden Manual-Seiten:
   

   \begin{list}{*}{}

    
	\item 
        man crontab
    

    
	\item 
        man 5 crontab
    

    
	\item 
        man cron
    

   \end{list}

 
	\ref{inhalt.tex}


	\end{document}
	
