Script in cron.daily wird nicht gestartet

vielhuber

New Member
Hallo!

In meiner /etc/cron.daily/ liegt eine Datei namens spamdyke.sh:
Code:
#!/bin/sh

# leeren Eintraegen loeschen (aelter als 10080 Minuten (=1 Woche))
/usr/bin/find /var/qmail/spamdyke/greylist/ -type f -mmin +10080 -size 0 -delete

if [ -f /usr/bin/bc ] ; then
	#Wenn bc installiert ist, kann es automatisch ermittelt werden
	GRAYLIST_MAX_SECS=`grep 'graylist-max-secs' /etc/spamdyke.conf | cut -d = -f 2`
	GRAYLIST_MAX_SECS=`echo "scale=0 ; $GRAYLIST_MAX_SECS / 60" | bc -l`
else
	#Achtung: sollte mit graylist-max-secs /60 in /etc/spamdyke.conf identisch sein
	#aelter als 30240 Minuten (=3 Wochen)
	GRAYLIST_MAX_SECS=30240
fi
# veraltete Eintraege loeschen  
/usr/bin/find /var/qmail/spamdyke/greylist/ -type f -mmin +$GRAYLIST_MAX_SECS -delete

# Statusnachricht an mich verschicken
mailx [email protected] -s "spamdyke.sh" < /etc/spamdyke.nachricht


Sie soll alte Emails (nach der Anleitung von huschi) löschen und eine Bestätigungsemail an mich senden.

Wenn ich das Script zum Testen mit
Code:
cd /etc/cron.daily/
./spamdyke.sh
geht es einwandfrei und ich bekomme auch meine Besätigungsmail.


Nur leider wird der Job nicht TÄGLICH ausgeführt.

In meiner Crontab findet sich auch kein cron.daily-Eintrag, weil der da auch nicht hingehört. Dafür ist bei mir Anacron zuständig.

Hier die /etc/anacrontab
Code:
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# These replace cron's entries
1	5	cron.daily	 nice run-parts --report /etc/cron.daily
7	10	cron.weekly	 nice run-parts --report /etc/cron.weekly
@monthly	15	cron.monthly nice run-parts --report /etc/cron.monthly


Der Service anacron ist auch gestartet, was mir

Code:
root@vs248170:~# ps -aux | grep anacro
root     21529  0.0  0.0   1560   516 pts/0    S+   13:31   0:00 grep anacro
sagt.


Wo liegt also der Hund begraben?
Danke für Eure Hilfe.
 
Habe durch den Befehl

Code:
root@vs248170:/etc# /etc/init.d/anacron start
Starting anac(h)ronistic cron: anacron.

anacron glaube ich jetzt endlich starten können.

Code:
ps -e | grep anacron
liefert jedoch keine Ergebnisse!

Wie kann ich auf einem Debian System schauen, ob ein Dienst gestartet ist? Läuft denn jetzt anacron oder nicht?
 
Code:
ps -e | grep anacron
liefert jedoch keine Ergebnisse!
Versuchs mal nur mit "cron" anstatt "anacron", aber wenn das keine Ausgabe liefert (bzw. `pgrep cron`), dann läuft der Cron Daemon nicht. Versuche ihn über die Shell (ohne Initskript) zu starten und schau in deine Logs.
 
Code:
root@vs248170:~# ps -e | grep cron
28618 ?        00:00:00 cron

der Cron Daemon scheint zu laufen. Aber wieso wird von Anacron nichts angezeigt?
 
Code:
root@vs248170:~# /etc/init.d/anacron start
Starting anac(h)ronistic cron: anacron.

Code:
root@vs248170:~# ps -e | grep cron
28618 ?        00:00:00 cron

Code:
root@vs248170:~# /etc/init.d/anacron stop
Stopping anac(h)ronistic cron: anacron.

Code:
root@vs248170:~# ps -e | grep cron
28618 ?        00:00:00 cron

Sicher, dass der Dienst "cron" was mit Anacron zu tun hat?
Wenn ich den Anacron stoppe, ist der "cron" immer noch da. :(
 
Überprüfe mit dpkg, aus welchem Paket der cron-Prozess kommt und deinstalliere das Paket. Außerdem kannst du den cron-Prozess auch von Hand abschießen (kill, killall, pkill).
 
Code:
root@vs248170:~# dpkg -l | grep cron
ii  anacron                   2.3-13                               cron-like program that doesn't go by time
ii  cron                      3.0pl1-100                           management of regular background processing


Es behindern sich also diese Beiden CRONs, richtig?
Ich soll also einfach das zweite deinstallieren und dann hoffen, dass es klappt?
 
Back
Top