MilesWeb
MilesWeb Hosting Forum

Please login or register.

Login with username, password and session length

 

News:

SMF - Just Installed!


Author Topic: 12 Different Ways to Schedule Cronjobs in Linux / Unix  (Read 7147 times)

0 Members and 1 Guest are viewing this topic.

Offline Sunil B

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
12 Different Ways to Schedule Cronjobs in Linux / Unix
« on: January 18, 2017, 06:06:23 AM »
Hello,

The software utility Cron will help in scheduling cronjobs for maintenance activities, automating regular boring stuff by scheduling shell scripts.
We can also achieve regular periodic checks. It typically automates system maintenance or administration—though its general-purpose nature makes it useful for things like downloading  files from the Internet and downloading email at regular intervals.


cronjob scheduling is possible using crontab command and each and every user crontab is separate

Quote
# crontab -e   = To edit cronjob schedule

Quote
# crontab -l = To list scheduled cronjobs

Quote
# crontab -r = To remove all cronjobs in single attempt

whenever you schedule a cronjob with particular user the same cronjob will run using same user, ensure user is having execution permission to the user.

Know crontab fields and its values


Quote
[root@server ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed


1. Scheduling cronjobs to run @every minute

To run cronjob yet every one minute first field is minutes, first field we can right with separated by comma. below three examples we can use to schedule a cronjob to run every minute.


Quote
# crontab -e

* * * * * sh /scripts/everyminute.sh
1,2,3,4,5,6,7,8,9,10......60 * * * * sh /scripts/everyminute.sh
*/1 * * * * sh /scripts/everyoneminute.sh


2. Scheduling cronjobs to run @every 5 minutes

below two examples to schedule cronjob for every 5 minutes, again we have to make use of first field to run script @every 5 minutes because first field is minutes


*/5 * * * * sh /scripts/testscript.sh
5,10,15,20,25,30,35,40,45,50,55,0 * * * * sh /scripts/testscript.sh



3. Scheduling cronjobs to run @every 30 minutes

if we want monitoring our file system @every 30 minutes using shell script you can do using below

*/30 * * * * sh /scripts/FS-Monitoring.sh

OR

0,30 * * * * sh /scripts/FS-Monitoring.sh


4. Scheduling cronjobs to run @every hour


To schedule a cronjob to run @every hour we can make use of first field either second field.

0 * * * * sh /scripts/everyhour.sh


OR we can also make use of special schedule

@hourly sh /scripts/everyhour.sh


5. Scheduling cronjobs to run @Every 3 Hours OR 5 Hours


below examples for every 3 hours schedule

0 */3 * * * sh /scripts/cronjob-every-3hours.sh


OR

* 0,3,6,9,12,15,18,21 * * * sh /scripts/cronjob-every-3hours.sh

6. Scheduling cronjobs to run @every day Or once in a day

we would like to schedule an cronjob to send daily reports once in a day. examples are below


59 23 * * * sh /scripts/daily-report.sh


OR

we can also make use of special schedule


   @daily sh /scripts/daily-report.sh
   
7. Schedule cronjobs to run every alternate day
   
   
Every alternate day means in between three days middle day job will not run

0 * * * 0,2,4,6 sh /scripts/every-alternate-day.sh


8. Run cronjob first and Second Saturday of the month
   
   
it means that cronjob should run first Saturday of the month and Second Saturday of the month, remaining Saturdays cron should not run. Detailed explanation of below example is yet any cose first Saturday will fall from 1-7 it means range from 1st date to 7th date.
Second Saturday may fall from 15th to 21st Dates.

0 1 1-7,15-21 6 /scripts/every-first-second-sat.sh

9. Cronjob for every week

to schedule a cronjob to run @every week we can make use of week of the day 5th field in crontab

0 0 * * 0 sh /scripts/every-week.sh

we can also make use of special schedule

@weekly sh /scripts/every-week.sh


10. Run cronjob @every month 1st date


Here we have to use day of the month, field 3

0 0 1 * * sh /scripts/every-mont-1st.sh

OR

@monthly sh /scripts/every-month.sh

11. Schedule cronjob to run once in a year

I would like to schedule an cronjob to say happy new year to all the employees on midnight of every year 31st Dec.

59 23 31 12 *  echo "Happy New Year to All"

OR

@yearly echo "Happy New Year"

 
Read More  crontab Linux / Unix with examples
12. I want to run a cronjob @every server reboot

every time whenever server is rebooted i would like to get notification. We can make use of special schedule

@reboot echo Server Rebooted | mail -s "Server Rebooted `hostname`"

That’s all about scheduling cronjobs in different timings.

« Last Edit: May 24, 2017, 09:06:50 PM by Turkey »

MilesWeb Hosting Forum

12 Different Ways to Schedule Cronjobs in Linux / Unix
« on: January 18, 2017, 06:06:23 AM »