Hallo Alex,
wir haben da ein neues cron-verzeichnis für eingerichtet, so was wie cron.daily, nur eben alle 5min, also heißt das bei uns cron.5min.
In der /etc/crontab steht daher:
# m h dom mon dow user command
*/5 * * * * root run-parts --report /etc/cron.5min
Die erste Zeile ist eine Kommentarzeile (klaro)!
Unser Skript, dass nach unseren Diensten schaut, sieht dann ungefähr so aus:
Code:
#!/bin/sh
logfile=/var/ratse/log/cron.5min
# Stellt sicher, dass sshd immer wieder gestartet wird.
if [ $(ps -A | grep -c /usr/sbin/lshd) = 0 ];
then
echo "$(date) lshd wiederbeleben" >> $logfile
/etc/init.d/lsh-server start
fi
# Stellt sicher, dass der Portmapper laeuft
if [ $(ps -A | grep -c portmap) = 0 ];
then
echo "$(date) portmapper wiederbeleben" >> $logfile
/etc/init.d/portmap restart
fi
# Stellt sicher, dass die domaine gestzt ist
if [ $(ypdomainname) = "" ];
then
echo "$(date) YP-Domainnamen setzen" >> $logfile
ypdomainname rgp
fi
# Stellt sicher, dass der ypserver laeuft
if [ $(ps -A | grep -c ypserv) = 0 ];
then
echo "$(date) NIS wiederbeleben" >> $logfile
/etc/init.d/nis restart
fi
# Stellt sicher, dass der nfs-server laeuft
[ $(ps -A | grep -c nfsd) = 0 ] && /etc/init.d/nfs-kernel-server restart
# Stellt sicher, dass der dhcp-server laeuft
[ $(ps -A | grep -c dhcpd) = 0 ] && /etc/init.d/dhcp restart
# Stellt sicher, dass der Apache laeuft
if [ $(ps -A | grep -c apache2) = 0 ];
then
echo "$(date) Apache2 wiederbeleben" >> $logfile
/etc/init.d/apache2 restart
fi
# Stellt sicher, dass der Cups laeuft
if [ $(ps -A | grep -c cupsd) = 0 ];
then
echo "$(date) cupsd wiederbeleben" >> $logfile
/etc/init.d/cupsys restart
fi
# Stellt sicher, dass der Squid laeuft
#if [ $(ps -A | grep -c squid) = 0 ];
#then
# echo "$(date) squid wiederbeleben" >> $logfile
# /etc/init.d/squid restart
#fi
# Stellt sicher, dass der Samba laeuft
if [ $(ps -A | grep -c smbd) = 0 ];
then
echo "$(date) samba wiederbeleben" >> $logfile
/etc/init.d/samba restart
fi
if [ $(ps -A | grep -c nmbd) = 0 ];
then
echo "$(date) samba wiederbeleben" >> $logfile
/etc/init.d/samba restart
fi
# Stellt sicher, dass der webmin laeuft
if [ $(ps -A | grep -c miniserv.pl) = 0 ];
then
echo "$(date) webmin wiederbeleben" >> $logfile
/etc/init.d/webmin restart
fi
# Stellt sicher, dass der Drucker im CR1 laeuft
anz=$(lpstat -p hp-4000-n | grep -c disabled)
if [ "$anz" = 1 ];
then
echo "$(date) hp-4000-n wiederbeleben" >> $logfile
/sbin/ratse.clearPrinter -p hp-4000-n >> $logfile
fi
So, ich bin mir im Klaren darüber, dass das sicher besser oder eleganter oder sicherer geht. Ich habe nämlich erst vor zwei Jahren mit dem Scripten angefangen. Aber es hat uns bisher nicht im Stich gelassen.
So, denn mal viel Erfolg!
Mfg Michael
Lesezeichen