Debian Cron
Der Batchdaemon cron ist für Aufgaben zuständig, die automatisch zu einer festgelegten Zeiten stattfinden sollen.
Debian Cron Verzeichnisse
/etc/cron.hourly # Scripts in diesem Debian Cron Verzeichnis werden stündlich ausgeführt.
/etc/cron.daily # Scripts in diesem Debian Cron Verzeichnis werden täglich ausgeführt.
/etc/cron.weekly # Scripts in diesem Debian Cron Verzeichnis werden wöchentlich ausgeführt.
/etc/cron.monthly # Scripts in diesem Debian Cron Verzeichnis werden monatlich ausgeführt.
Skripte, die in diesen Verzeichnissen liegen werden im jeweiligen Rythmus ausgeführt.
Skripte müssen ausführbar sein, wie z.B. chmod 755 backup_paketlisten.sh
Bsp. Backup Skript der Debian Paketlisten
#!/bin/sh
# Aktuelles Datum für Dateinamen setzen
DATUM=`/bin/date ‚+%Y-%m-%d’`
#Erstellung der Paketliste
dpkg –get-selections „*“ > /mnt/hdc/backup_packetlisten/packetliste_vom_$DATUM.txt
#Restore über dpkg –set-selections < /mnt/hdc/paketlisten/paketliste_<DATUM>.txt
#Danach ein apt-get -f install oder apt-get dselect-upgrade und alles sollte wieder wie vorher sein.
#noch ein Tipp: /etc nicht einfach zurückkopieren, sondern selektiv einzelne Config Dateien nach und nach zurückspielen, aufgrund Troubelshooting
Bsp. für ein tägliches systemsupdate (BITTE nur als Beispiel verstehen. siehe besser cron-apt)
#!/bin/sh #steht für die shell, die an die bash weiterleitet
/usr/sbin/urpmi.update ?update #update der datenbank von urpmi
/usr/sbin/urpmi ?auto ?auto-select ?update #eigentliches update des systems
weitere Anwendungsbeispiele sind:
Update System
update.sh
Atomzeituhr
ntp.sh
Debian Crontab-Datei
Die Crontab-Datei ist die eigentliche Konfigurationsdatei von cron. Sie enthält die Aufrufe für die hourly,daily und weekly-Verzeichnisse. Außerdem können hier Tasks definiert werden, die nicht auf die Muster hourly, daily, weekly passen. Die Standard Crontab sieht so aus:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root # Mialto ausstellen über Mailto=““
HOME=/
# run-parts
01 * * * * root nice -n 19 run-parts /etc/cron.hourly
02 4 * * * root nice -n 19 run-parts /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly
Debian Crontab editieren
crontab -e
Editor wechseln:
editor=emacs # sonst kommt vi
crontab -e # editieren
Zeit zur Ausführung:
Muster:
Minuten Stunden Tage Monate Wochentage Befehl
Beispiel:
0 1 * * * Befehl… # ausführen täglich 1Uhr Morgens
Anzeigen der Debian Crontab
crontab -l # listen lassen
Editor Umstellen für cron-tab
temporär:
export editor=mcedit (oder nano,emacs) und dann:
crontab -e
langfristig:
/homeverzeichnis/.bashrc editerien:
editor=mcedit #Voreinstellung