Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: cron jobs draaien niet  (gelezen 2642 keer)

wr19026

  • Gast
cron jobs draaien niet
« Gepost op: 2006/03/04, 14:56:21 »
Ik heb het volgende in /etc/crontab staan:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

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

# m h dom mon dow user  command
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 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

Als voorbeeld heb ik een backup script genaamd backup.cron in /etc/cron.daily staan.
 Ik verwacht eigenlijk dat het script dan ook dagelijks automatisch draait, maar helaas. Niets. Het script zelf werkt want ik kan het handmatig wel draaien.

Wat doe ik fout? Volgens mij staan alle permissies nl. goed.

Offline Didius

  • Lid
  • Steunpunt: Nee
cron jobs draaien niet
« Reactie #1 Gepost op: 2006/03/04, 21:37:46 »
Misschien is het beter dit grafisch te beheren. Ik heb dit ook zo als jij geprobeerd en het lukte ook niet. Met gnome-schedule ging het wel.
http://www.gnomefiles.org/app.php?soft_id=148

wr19026

  • Gast
cron jobs draaien niet
« Reactie #2 Gepost op: 2006/03/04, 22:28:38 »
Dit zijn de cronjobs op m'n server dus ik kan het helaas niet grafisch doen (tenzij het in webmin onsersteunt wordt?).

Offline Didius

  • Lid
  • Steunpunt: Nee
cron jobs draaien niet
« Reactie #3 Gepost op: 2006/03/04, 23:21:19 »
Anders probeer je het eens thuis met gnome-schedule en kijk je naar de code die genereerd wordt, en copy-paste dat naar je server?

Offline kennywest

  • Lid
    • http://kennywest.blogspot.com
  • Steunpunt: Nee
cron jobs draaien niet
« Reactie #4 Gepost op: 2006/03/05, 09:50:17 »
Uw script zou inderdaad moeten werken. Schrijf wat logging weg, dan zie je op zijn minst dat het script uitgevoerd wordt en/of tot waar hij komt:
vb: echo "logging" >> /var/log/script.log

wr19026

  • Gast
cron jobs draaien niet
« Reactie #5 Gepost op: 2006/03/05, 12:00:04 »
Citaat van: kennywest
Uw script zou inderdaad moeten werken. Schrijf wat logging weg, dan zie je op zijn minst dat het script uitgevoerd wordt en/of tot waar hij komt:
vb: echo "logging" >> /var/log/script.log
Ik heb deze regel aan /etc/crontab toegevoegd en een cron restart gedaan:
50 * * * * root run-parts echo "logging" >> /var/log/script.log

Ik krijg wel de volgende melding per e-mail:
run-parts: missing operand
Try `run-parts --help' for more information.

Dus run-parts --test maar eens tegen /etc/cron.daily gedraaid. Alle scripts staan er (gelukkig!) in. Met uitzondering van m'n backup script. En dat script geeft wel output als ik het (als root) handmatig draai. Ook bij run-parts --list staat het script niet in de lijst.

Hier de file permissies voor /etc/cron.daily:
-rwxr-xr-x   1 root root  321 2004-12-02 04:49 amavisd-new
-rwxr-xr-x   1 root root 5041 2005-10-05 15:40 apt
-rwxr-xr-x   1 root root 1875 2006-03-01 11:34 backup.cron
-rwxr-xr-x   1 root root  502 2005-07-07 13:48 bsdmainutils
-rwxr-xr-x   1 root root  419 2005-07-05 15:15 find
-rwxr-xr-x   1 root root   89 2005-05-26 11:44 logrotate
-rwxr-xr-x   1 root root  946 2005-09-26 17:12 man-db
-rwxr-xr-x   1 root root 1335 2005-09-09 19:11 mysql-server
-rw-r--r--   1 root root  102 2005-05-03 01:09 .placeholder
-rwxr-xr-x   1 root root  345 2005-06-28 09:59 quota
-rwxr-xr-x   1 root root  383 2006-03-04 22:22 samba
-rwxr-xr-x   1 root root  330 2005-07-25 15:24 squirrelmail
-rwxr-xr-x   1 root root 2571 2005-05-03 01:09 standard
-rwxr-xr-x   1 root root 1307 2005-09-23 22:08 sysklogd
-rwxr-xr-x   1 root root 1050 2004-10-27 05:46 webalizer

Moet ik iets doen om het script aan crontab toegevoegd te krijgen of zo?

Volgens mij is er iets ook niet helemaal in orde met het backup script want hij heeft, zelfs toen ik het handmatig draaide, de date-last-full niet overschreven.
En als ik in m'n backup directory kijk lijkt het niet alsof er incremental backups gedraaid worden:
-rw-r--r--  1 root root  241541120 2006-03-01 11:35 server-01mrt.tar
-rw-r--r--  1 root root  247275520 2006-03-02 10:24 server-do.tar
-rw-r--r--  1 root root  265891840 2006-03-03 10:54 server-vr.tar
-rw-r--r--  1 root root  241541120 2006-03-01 11:35 server-wo.tar
-rw-r--r--  1 root root  270673920 2006-03-04 13:29 server-za.tar
-rw-r--r--  1 root root  266577920 2006-03-05 11:08 server-zo.tar

Hier is het hele script:
#!/bin/sh
# full and incremental backup script
# created 07 February 2000
# Based on a script by Daniel O'Callaghan
# and modified by Gerhard Mourani

# Change the 5 variables below to fit your computer/backup

COMPUTER=server            # name of this computer
DIRECTORIES="/home /var /etc /boot /usr/local"   # directories to backup
BACKUPDIR=/share/backup/server      # where to store the backups
TIMEDIR=/share/backup/server/last-full   # where to store time of full backup
TAR=/bin/tar               # name and location of tar

# You should not have to change anything below here

PATH=/usr/local/bin:/usr/bin:/bin
DOW=`date +%a`                       # Day of the week e.g. Mon
DOM=`date +%d`                       # Date of the Month e.g. 27
DM=`date +%d%b`                      # Date and Month e.g. 27Sep

# On the 1st of the month a permanent full backup is made
# Every Sunday a full backup is made - overwriting last Sunday's backup
# The rest of the time an incremental backup is made. Each incremental
# backup overwrites last week's incremental backup of the same name.
#
# if NEWER = "", then tar backs up all files in the directories
# otherwise it backs up files newer than the NEWER date. NEWER
# gets it date from the file written every Sunday.


# Monthly full backup
if [ $DOM = "01" ]; then
        NEWER=""
        $TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DM.tar $DIRECTORIES
fi

# Weekly full backup
if [ $DOW = "Sun" ]; then
        NEWER=""
        NOW=`date +%d-%b`

        # Update full backup date
        echo $NOW > $TIMEDIR/$COMPUTER-full-date
        $TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES

# Make incremental backup - overwrite last weeks
else

        # Get date of last full backup
        NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`"
        $TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
fi

Offline kennywest

  • Lid
    • http://kennywest.blogspot.com
  • Steunpunt: Nee
cron jobs draaien niet
« Reactie #6 Gepost op: 2006/03/05, 14:20:14 »
Neenee, je moet die logging toevoegen in het backup script. Dan weet je of het

wr19026

  • Gast
cron jobs draaien niet
« Reactie #7 Gepost op: 2006/03/05, 18:00:11 »
Ik heb bij alle drie de delen van het script logging toegevoegd, maar hoe kan ik een datum/tijd vlag aan de log entry toevoegen?

Overigens was het DOW wat fout ging, stond op 'Sun' terwijl m'n server het als 'zo' ziet. Meteen pakt 'ie een ander deel van het script dus dat lijkt redelijk te gaan.

Update:
Op aanraden van m'n broertje (een RH aanhanger met interesse in Ubuntu) heb ik het script ook maar eens via crontab -e toegevoegd.

En wat schetst m'n verbazing? Dan doet het het wel! Schiet me nou maar helemaal lek....