Hallo Zusammen.
Bislang hatte ich hatte ich mit cron die auszuführenden Skripts gesteuert. Jedoch wurden diese nicht nachgeholt, wenn der Rechner aus war. Somit habe ich mir die wiki noch mal zur Hand genommen und wie beschrieben, die Änderungen vorgenommen. Jetzt habe ich Knoten drin.
Zunächst einmal die Einstellungen und die Skripts:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # /etc/crontab: system-wide crontab #----------------------------------------------------------------- # Mail fuer auftredende Fehler MAILTO="im.original@echte.adresse" # Shell variable for cron SHELL=/bin/bash # PATH variable for cron PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11 #----------------------------------------------------------------- #M S T M W Befehl #----------------------------------------------------------------- @reboot /home/jochen/script/server-start.sh 45 15 * * * /home/jochen/script/backup-server.sh 0 6 * * * reboot 0 8 * * * /home/jochen/script/backup-server.sh 10 6,9,12,15,18 * * * /home/jochen/script/mailtest_sh # --- emde --- |
hier die Liste der Skripts
ochen@server06:~$ ll script insgesamt 52 drwxrwxr-x 2 jochen jochen 4096 Feb 19 00:16 ./ drwxr-xr-x 11 jochen jochen 4096 Feb 17 14:53 ../ -rwxrwxr-x 1 jochen jochen 583 Feb 17 15:42 backup-server.sh* -rwxrwxr-x 1 jochen jochen 184 Feb 19 00:15 mailtest_sh* -rw-rw-r-- 1 jochen jochen 42 Feb 19 16:17 mailtest.txt -rwxrwxr-x 1 jochen jochen 198 Feb 17 15:24 server-start.sh* -rw-rw-r-- 1 jochen jochen 44 Feb 19 06:02 server-start.txt jochen@server06:~$
1 2 3 4 5 | jochen@server06:~$ cat script/server-start.sh #!/bin/bash echo Server gestartet $(date +"%A %Y-%m-%d %H:%M:%S") > /home/jochen/script/server-start.txt mail -s "Server Cron Test" im.original@echte.adresse < /home/jochen/script/server-start.txt jochen@server06:~$ |
1 2 3 4 5 | jochen@server06:~$ cat script/mailtest_sh #!/bin/bash echo TEST TEST TEST $(date +"%A %Y-%m-%d %H:%M:%S") > /home/jochen/script/mailtest.txt mail -s "TEST Server" im.original@echte.adresse < /home/jochen/script/mailtest.txt jochen@server06:~$ |
Soweit ist alles ok und funktioniert.
und hier nun der generierte Link für mailtest_sh
1 2 3 4 5 6 7 8 9 10 11 12 13 | /etc/cron.hourly: insgesamt 16 drwxr-xr-x 2 root root 4096 Feb 19 01:56 ./ drwxr-xr-x 100 root root 4096 Feb 19 02:04 ../ -rwxr-xr-x 1 root root 312 Feb 18 04:34 0anacron* lrwxrwxrwx 1 root root 31 Feb 19 01:56 mailtest_sh -> /home/jochen/script/mailtest_sh* -rw-r--r-- 1 root root 102 Apr 5 2016 .placeholder jochen@server06:~$ cat /etc/cron.hourly/mailtest_sh #!/bin/bash echo TEST TEST TEST $(date +"%A %Y-%m-%d %H:%M:%S") > /home/jochen/script/mailtest.txt mail -s "TEST Server" im.original@echte.adresse < /home/jochen/script/mailtest.txt jochen@server06:~$ |
und nun der anacrontab
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | jochen@server06:~$ cat /etc/anacrontab # /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 HOME=/root LOGNAME=root MAILTO="im.original@echte.adresse" SHELL=/bin/bash # These replace cron's entries 1 5 cron.daily run-parts --report /etc/cron.daily 7 10 cron.weekly run-parts --report /etc/cron.weekly @monthly 15 cron.monthly run-parts --report /etc/cron.monthly 1 10 cron.hourly /etc/cron.hourly/mailtest_sh jochen@server06:~$ |
So... was er nun korrekt macht ist: 08:02 und 15:47 Backup 06:02 Reboot 1 min. nach dem hochfahren bekomme ich eine Mail
was er nun nicht korrekt macht ist: senden der Testmail ... 06:10 06:17 07:17 08:17 09:10 09:17 10:17 11:17 12:10 12:17 13:17 usw.
warum die Skript mit plus 2 Minuten ausgeführt werden weiß ich nicht. die Mails xx:10 sind korrekt die Mails xx:17 sollen überhaupt nicht gesendet werden, da diese nur nachgeholt werden wenn der Rechner aus war.
Ich sehe den Fehler noch nicht.
Frage noch am Rand ... wo wird die Datei crontab abgelegt ? Wenn ich mit cat /etc/crontab mir die Darei anschaue steht dort was anderes drin, als wenn ich sudo crontab -e aufrufe.
Gruß Jochen