Wat heb ik?
Een SLES 9 geconfigureerd met EAL4+ pack
Wat is het probleem dan?
Het is mij opgevallen dat de cron jobs helemaal niet draaien. Geeft wat vervelende problemen met de onder ander de logrotate en wat daily root scripts.
Voor de logrotate is het is verwacht dat deze iedere dag draait omdat er een script voor staat in de folder:
/etc/cron.daily
Het root script is misschien nog wel belangrijker omdat het gaat om een dagelijkse virusscan, deze is in de crontab gezet als de user root:
00 01 * * * /root/bin/virus-scan.sh
Dit script draait zonder problemen mits het met de hand word gestart.
Leuk, maar wat heb je geprobeerd??
Aangezien het me opviel dat cron helemaal niks doet ben ik gewoon begonnen met de basics:
Een snelle chmod +x (als root) en een initiële test gaf aan dat de datum daadwerkelijke wordt opgeslagen.
Na het toevoegen aan de crontab (crontab -e als root) en wat wachten kan ik de conclusie trekken dat deze niet wordt uitgevoerd.
Als ik een 'ls -lut' op het script en de result file doe zie ik gewoon nog de oude timestamp dus er is nog eens een poging gedaan.
Wat ik wel vind zijn de volgende regels in de /var/log/messages op de tijden dat ik zou verwachten dat het script draait:
Wat is dan je uitdaging?
Nou, eigenlijk vrij simpel. Eerst snappen waarom het niet werkt en dan werkend krijgen
Ik hoop dat bovenstaande informatie duidelijk is, indien dit niet het geval is geef het even aan.
Een SLES 9 geconfigureerd met EAL4+ pack
Wat is het probleem dan?
Het is mij opgevallen dat de cron jobs helemaal niet draaien. Geeft wat vervelende problemen met de onder ander de logrotate en wat daily root scripts.
Voor de logrotate is het is verwacht dat deze iedere dag draait omdat er een script voor staat in de folder:
/etc/cron.daily
Het root script is misschien nog wel belangrijker omdat het gaat om een dagelijkse virusscan, deze is in de crontab gezet als de user root:
00 01 * * * /root/bin/virus-scan.sh
Dit script draait zonder problemen mits het met de hand word gestart.
Leuk, maar wat heb je geprobeerd??
Aangezien het me opviel dat cron helemaal niks doet ben ik gewoon begonnen met de basics:
- /etc/init.d/cron status (running)
- chkconfig --list | grep cron (0:off 1:off 2:on 3:on 4:off 5:on 6:off)
- manueel het logrotate script draaien (de log files worden correct gearchiveerd)
- de file /etc/crontab bevalt de PATH variable
Bash: /root/bin/foo
1
2
| #!/bin/sh date > /tmp/this |
Een snelle chmod +x (als root) en een initiële test gaf aan dat de datum daadwerkelijke wordt opgeslagen.
Na het toevoegen aan de crontab (crontab -e als root) en wat wachten kan ik de conclusie trekken dat deze niet wordt uitgevoerd.
Als ik een 'ls -lut' op het script en de result file doe zie ik gewoon nog de oude timestamp dus er is nog eens een poging gedaan.
Wat ik wel vind zijn de volgende regels in de /var/log/messages op de tijden dat ik zou verwachten dat het script draait:
Bash: messages
1
2
3
4
| {TIMESTAMP} {HOSTNAME} /usr/sbin/cron[2459]: pam_unix2(crond:session) session started for user root, service crond {TIMESTAMP} {HOSTNAME} /usr/sbin/cron[2459]: Cannot make/remove an entry for the specified session {TIMESTAMP} {HOSTNAME} kernel: audit(TIMESTAMP) user pid=4569 uid=0 auid=* msg='PAM: accounting acct=root : exe="/usr/sbin/cron" (hostname=7, addr=7, terminal=cron, res=success)' {TIMESTAMP} {HOSTNAME} kernel: audit(TIMESTAMP) user pid=4569 uid=0 auid=* msg='PAM: session open acct=root : exe="/usr/sbin/cron" (hostname=7, addr=7, terminal=cron, res=failed)' |
Wat is dan je uitdaging?
Nou, eigenlijk vrij simpel. Eerst snappen waarom het niet werkt en dan werkend krijgen
Ik hoop dat bovenstaande informatie duidelijk is, indien dit niet het geval is geef het even aan.
01101000 01100101 01101100 01110000