I. Introduction of Crond
Crond is a daemon that is used to periodically perform certain tasks or wait for certain events under Linux, similar to Scheduled tasks under Windows, when the operating system is installed, the Service tool is installed by default and the Crond process is started automatically. The Crond process periodically checks to see if there is a task to perform and automatically executes the task if there are tasks to perform.
The task scheduling under Linux is divided into two categories, system task scheduling and user task scheduling.
System task scheduling: The work to be performed by the system periodically, such as writing cache data to hard disk, log cleanup, etc. In the/etc directory there is a crontab file, this is the System Task Scheduler configuration file.
The/etc/crontab file includes the following lines:
[Email protected] ~]#Cat/etc/crontab SHELL=/bin/Bashpath=/sbin:/bin:/usr/sbin:/usr/Binmailto=""home=/# Run-PartsWuyi* * * * Root run-parts/etc/cron.hourly - 7* * * Root run-parts/etc/cron.daily A 4* *0Root run-parts/etc/cron.weekly the 4 1* * Root run-parts/etc/cron.monthly
The first four rows are the environment variables that are used to configure the Crond task to run, the shell variable specifies which shell the system will use, this is bash, and the second line of the path variable specifies the path to the System execution command. The third line of the mailto variable specifies that Crond's task execution information will be emailed to the root user, and if the value of the mailto variable is null, the task execution information is not sent to the user, and the home variable in line fourth specifies the home directory to use when executing the command or script. The meaning of line sixth to Nineth is described in detail in the next section. There's not much to say here.
User Task scheduling: Users to perform regular work, such as user data backup, scheduled email reminders and so on. Users can use the Crontab tool to customize their own scheduled tasks. All user-defined crontab files are saved in the/var/spool/cron directory. Its file name is the same as the user name.
User Permissions File:
File:
/etc/cron.deny
Description
The users listed in this file are not allowed to use the crontab command
File:
/etc/cron.allow
Description
Users listed in this file are allowed to use the crontab command
File:
/var/spool/cron/
Description
directory where all user crontab files are stored, named by user name
What the crontab file means:
In the crontab file created by the user, each line represents a task, each field of each row represents a setting, its format is divided into six fields, the first five is the time setting segment, and the sixth paragraph is the command segment to execute, in the following format:
Minute hour day Month Week command
which
Minute: Represents minutes, which can be any integer from 0 to 59.
Hour: Represents the hour, which can be any integer from 0 to 23.
Day: Represents a date, which can be any integer from 1 to 31.
Month: Represents the month, which can be any integer from 1 to 12.
Week: Represents the day of the week, which can be any integer from 0 to 7, where 0 or 7 represents Sunday.
Command: The commands to execute can be either system commands or script files that you write yourself.
In each of these fields, you can also use the following special characters:
Asterisk (*): represents all possible values, such as the month field if it is an asterisk, the command action is executed monthly after the constraints of other fields are met.
Comma (,): You can specify a list range with a comma-separated value, for example, "1,2,5,7,8,9"
Middle Bar (-): An integer range can be represented by a middle bar between integers, such as "2-6" for "2,3,4,5,6"
Forward slash (/): You can specify the interval frequency of the time with a forward slash, such as "0-23/2", which is performed every two hours. A forward slash can be used with asterisks, such as */10, if used in the minute field, which means that it executes every 10 minutes.
Second, Crond service
Install Crontab:
Yum Install Crontabs
Service Operation Instructions:
/sbin/service Crond Start//Startup service
/sbin/service Crond stop//Shut down service
/sbin/service crond Restart//Restart service
/sbin/service Crond Reload//Reload Configuration
View Crontab Service Status:
Service Crond Status
Add to boot auto start:
Chkconfig–level Crond on
Working with instances
Example 1: command is executed every 1 minutes
Command:
* * * * * command
Example 2:3rd and 15 minutes per hour of execution
Command:
3,15 * * * command
Example 3: Execution at 3rd and 15 minutes from 8 o'clock in the morning to 11.
Command:
3,15 8-11 * * command
Example 4:3rd and 15 minutes of every two-day 8 o'clock in the morning to 11-point execution
Command:
3,15 8-11 */2 * command
Example 5:3rd and 15 minutes of each Monday from 8 o'clock in the morning to 11.
Command:
3,15 8-11 * * 1 command
Example 6:21:30 restart of SMB per night
Command:
* * * * */ETC/INIT.D/SMB restart
Example 7:4:45 restart SMB per month for 1, 10, 22nd
Command:
4 1,10,22 * */ETC/INIT.D/SMB restart
Example 8:1:10 restart SMB per Saturday, Sunday
Command:
1 * * 6,0/ETC/INIT.D/SMB restart
Example 9: Restart SMB every 30 minutes from 18:00 to 23:00 daily
Command:
0,30 18-23 * * */ETC/INIT.D/SMB restart
Example 10: Every Saturday night at 11:00am restart SMB
Command:
0 * * 6/ETC/INIT.D/SMB restart
Example 11: Restart SMB every hour
Command:
* */1 * * * */ETC/INIT.D/SMB restart
Example 12: Restart SMB every hour from 11 o'clock to 7 in the morning
Command:
* 23-7/1 * * * */ETC/INIT.D/SMB restart
Example 13:4th per month with 11 points per Monday to Wednesday restart SMB
Command:
0 4 * MON-WED/ETC/INIT.D/SMB restart
Example 14:4-point restart of SMB on January 1
Command:
0 4 1 Jan */ETC/INIT.D/SMB restart
Example 15: Execution of scripts within/etc/cron.hourly directory per hour
Command:
* * * * * Root run-parts/etc/cron.hourly
Description
Run-parts This parameter, if you remove this parameter, you can write a script name to run, not the directory name.
"Shell" crontab command