[[http://tmade.de|Home tmade.de]] [[http://wiki.tmade.de|Home Wiki]] ===== Cronjobs ===== For all users: /etc/cron.d/cronjobname Configuration (SLES): /etc/sysconfig/cron Crontab files (created via "crontab -e") are located in: /var/spool/cron/tabs Example: SLES10:/etc/cron.d # ll total 8 -rw-r--r-- 1 root root 151 Mar 9 14:58 root_crontest -rw-r--r-- 1 testuser users 61 Mar 9 14:58 testuser_crontest SLES10:/etc/cron.d # cat root_crontest */1 * * * * root /bin/logger "testmessage" */1 * * * * root /usr/sbin/ntpdate -s time.server.com && /sbin/hwclock --systohc */1 * * * * root /usr/bin/echo "hello world" SLES10:/etc/cron.d # cat testuser_crontest */5 * * * * testuser echo "hello testuser" SLES11: */20 * * * * root /usr/sbin/sntp -P no -r time.server.com && /sbin/hwclock --systohc 2>> /dev/null SLES10::/etc/cron.d # cat tmade */1 * * * * testuser echo "hallo world" > /home/testuser/testfile Enter a cronjob as user "testuser": crontab -e #Add and create a crontab (as logged in user) crontab -l #List cronjobs (as logged in user) ==== Overview Syntax ==== * * * * * command to be executed - - - - - | | | | | | | | | +----- day of week (0 - 6) (Sunday=0) | | | +------- month (1 - 12) | | +--------- day of month (1 - 31) | +----------- hour (0 - 23) +------------- min (0 - 59) Predefined scheduling definitions There are several special predefined values which can be used to substitute the CRON expression. Entry Description Equivalent To @yearly (or @annually) Run once a year, midnight, Jan. 1 0 0 1 1 * @monthly Run once a month, midnight, first of month 0 0 1 * * @weekly Run once a week, midnight on Sun 0 0 * * 0 @daily Run once a day, midnight 0 0 * * * @hourly Run once an hour, beginning of hour 0 * * * * @reboot Run at startup ==== Examples ==== 30 18 * * * /sbin/shutdown -r now #Shutdown at 18:30h 15 0-22/2 * * * /home/test #Every 2 hours + 15 min. (0:15, 2:15) @reboot /etc/init.d/postfix start #Runs just on reboot Explication: min hour day/month month day/week Execution time 30 0 1 1,6,12 * -- #00:30 Hrs on 1st of Jan, June & Dec. 0 20 * 10 1-5 -- #8.00 PM every weekday (Mon-Fri) only in Oct. 0 0 1,10,15 * * -- #Midnight on 1st ,10th & 15th of month 5,10 0 10 * 1 -- #At 12.05,12.10 every Monday & on 10th of every month */5 * * * * /usr/bin/message.sh #Every 5 minutes */20 * * * * /usr/sbin/ntpdate –s time.server.test #Sync timeserver each 20 minutes 0 */2 * * * /usr/sbin/ntpdate –s time.server.test #Run all 2 hours 0 * * * * /usr/sbin/ntpdate –s time.server.test #Run every hour ==== AT === Schedule: at hh:mm finger >> /var/log/messages #exit with ctrl+D at noon tomorrow finger >> /var/log/messages #exit with ctrl+D echo "myscript.sh" | at 05:30 111623 #runs "myscript.sh" at 5:30 on 16th Novemver 2023 check: atq oder at -l remove: atrm job_number //check if remove with atq