cron startet Scripten unmotiviert mehrfach

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
mccab99
Posts: 43
Joined: 2006-02-20 08:41
Location: Cloppenburg

cron startet Scripten unmotiviert mehrfach

Post by mccab99 » 2007-03-14 15:17

Libe Community,

Ich kämpfe auf einer Debain Etch Kiste mit folgendem Problem. Angelegt ist ein cronjob mit folgendem Eintrag:

* 4 * * * user /pfad/zu/backup_script.sh

Das Backupscript schaut so aus:

Code: Select all

#!/bin/sh

sqluser=foo
sqlpass=geheim
pidfile=/pfad/zu/pidfile.pid

# check if we are running already...

if [ -f $pidfile ] ; then

	echo "ERROR: We are running already!"
	exit 0

fi

touch $pidfile

# do mysqlcheck

date=`date '+%Y%m%d%H%M'`

mysqlcheck --all-databases --auto-repair --extended --optimize -u$sqluser -p$sqlpass > /pfad/zu/mysqlbackup/log/dbcheck-$date.log

# do mysqlbackup

for i in `mysql -u$sqluser -p$sqlpass -Bs -e "show databases"`
do
     mysqldump -u$sqluser -p$sqlpass --opt --quote-names "$i" > "/pfad/zu/mysqlbackup/$i$date.sql"
done

# del old files
     
find /pfad/zu/mysqlbackup/log -cmin +1500 -exec rm "{}" ;
find /pfad/zu/mysqlbackup/ -cmin +1500 -exec rm "{}" ; 

# perform backup

/pfad/zu/reoback/run_reoback.sh

rm $pidfile

exit 0
So wie ich cron verstehe, sollte er das Script um 4:00 Uhr morgens anwerfen. Macht er auch, jedoch nicht nur dann - schaut selbst:
    Mar 14 04:00:01 tjorven /USR/SBIN/CRON[8746]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:01:01 tjorven /USR/SBIN/CRON[8772]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:02:01 tjorven /USR/SBIN/CRON[8775]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:03:02 tjorven /USR/SBIN/CRON[8783]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:04:01 tjorven /USR/SBIN/CRON[8806]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:05:01 tjorven /USR/SBIN/CRON[8809]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:06:01 tjorven /USR/SBIN/CRON[8817]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:07:01 tjorven /USR/SBIN/CRON[8840]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:08:01 tjorven /USR/SBIN/CRON[8843]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:12:01 tjorven /USR/SBIN/CRON[8898]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:13:01 tjorven /USR/SBIN/CRON[8921]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:14:01 tjorven /USR/SBIN/CRON[8924]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:15:01 tjorven /USR/SBIN/CRON[8934]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:16:01 tjorven /USR/SBIN/CRON[8957]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:17:01 tjorven /USR/SBIN/CRON[8960]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:19:01 tjorven /USR/SBIN/CRON[9008]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:20:02 tjorven /USR/SBIN/CRON[9011]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:21:02 tjorven /USR/SBIN/CRON[9023]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:22:01 tjorven /USR/SBIN/CRON[9026]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:23:01 tjorven /USR/SBIN/CRON[9029]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:24:01 tjorven /USR/SBIN/CRON[9032]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:25:01 tjorven /USR/SBIN/CRON[9035]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:26:01 tjorven /USR/SBIN/CRON[9038]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:27:01 tjorven /USR/SBIN/CRON[9041]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:34:01 tjorven /USR/SBIN/CRON[9146]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null) Mar 14 04:35:01 tjorven /USR/SBIN/CRON[9169]: (root) CMD ( /pfad/zu/backup_script.sh > /dev/null)
Das geht so munter weiter bis logrotate um 6:25 Uhr aktiv wird. Ich finde darin auch kein System. Weiß jemand Rat? Die anderen crons laufen absolut zuverlässig.

Jetzt läuft das Script durch das pidfile natürlich nur einmal zur Zeit und damit der Server nicht in den Tod. Aber das ist doch nicht im Sinne des Erfinders...

Gruß,

Maik

baui1984
Posts: 31
Joined: 2005-11-24 09:31

Re: cron startet Scripten unmotiviert mehrfach

Post by baui1984 » 2007-03-14 15:39

Code: Select all

0 4 * * * user /pfad/zu/backup_script.sh
So muss das aussehen. Der * sorgt sonst dafür dass der Cron zw. 4 und 5 Uhr jede Minute gestartet wird.

mccab99
Posts: 43
Joined: 2006-02-20 08:41
Location: Cloppenburg

Re: cron startet Scripten unmotiviert mehrfach

Post by mccab99 » 2007-03-14 15:53

Sch... - absolut logisch. Danke. Also manchmal stehen die Bäume dicht.

Maik