Linux OS Timer task system Cron get started

Source: Internet
Author: User

Cron is a timed execution tool under Linux that can run a job without human intervention. Since Cron is a built-in service for Linux, it does not automatically get up, and you can start and shut down this service in the following ways:

/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

You can also start the service automatically when the system starts:

At the end of the/etc/rc.d/rc.local script, add:

/sbin/service Crond Start

Now cron This service is already in the process, we can use this service, Cron service provides the following kinds of interfaces for everyone to use:

1. Edit directly with crontab command

The Cron service provides the crontab command to set the Cron service, and here are some of the parameters and instructions for this command:

Crontab-u//Set a user's Cron service, which is usually required by the root user when executing this command

CRONTAB-L//list details of a user cron service

Crontab-r//Delete a cron service with no users

CRONTAB-E//Edit a user's cron service

For example, root to view your cron settings: Crontab-u root-l

Again, for example, Root wants to delete Fred's cron settings: Crontab-u fred-r

When editing the Cron service, the edited content has some formatting and conventions, input: Crontab-u root-e

Enter VI edit mode, the content of the edits must conform to the following format: */1 * * * * ls >>/tmp/ls.txt

Crond resident command for task scheduling

Crond is a command that Linux uses to execute programs on a regular basis. This task dispatch command is started by default when the operating system is installed. The Crond command periodically checks to see if there is any work to be done and the work will be performed automatically if there is work to be done.

1, the work of Linux task scheduling mainly divided into the following two categories:

* System execution: The work to be performed by the system periodically, such as backing up system data, cleaning up the cache

* Personal work: A user's regular work, such as checking the mail server for new letters every 10 minutes, can be set by each user.

2.crontab Command options:

-u Specifies a user,

-l lists a user's task schedule,

-R Deletes a user's task,

-e Edit a user's tasks

3.cron file Syntax:

Hour of the week order

0-59 0-23 1-31 1-12 0-6 Command (value range, 0 for Sunday One a row corresponds to a task)

4. Remember the meanings of several special symbols:

"*" represents a number in the range of values,

"/" stands for "every",

"-" represents a number to a number,

"," separate a few discrete numbers

I. How to set up a task scheduling file

The CRONTAB-E command can be used to edit, edit the corresponding user's cron file under/var/spool/cron, or modify the/etc/crontab file directly.

The specific format is as follows:

Minute Hour Day Month Dayofweek command

Minutes hours days months days per week order

Each field represents the following meanings:

Minute the first few minutes of every hour to perform the task

Hour the first few hours of the day to perform this task

Day of the month to perform the task

Month months of the year to perform this task

DayOfWeek the day of the week to perform the task

Command Specifies the program to execute

In these fields, except that "Command" is the field that must be specified each time, the other fields are optional fields, which can be determined visually. For a field that is not specified, "*" is used to fill its position.

Examples are as follows:

5 * * * ls Specifies the first 5 minutes of every hour to execute the LS command

5 * * * ls specifies the 5:30 execute LS command per day

7 8 * * ls specifies 7:30 minutes of 8th per month to execute the LS command

5 8 6 * ls specifies that the LS command be executed every June 8 5:30

6 * * 0 ls Specifies 6:30 execution of the LS command per Sunday [Note: 0 means Sunday, 1 means Week 1, and so on, can also be expressed in English, Sun says Sunday, Mon indicates Monday such as ]

3 10,20 * * ls 3:30 for each month 10th and 20th executes the LS command [note: "," used to connect multiple discontinuous periods]

8-11 * * * ls command is executed at 25 minutes per day at 8-11 Pips [Note: "-" used to connect a continuous period of time]

*/15 * * * * ls is executed every 15 minutes with the LS command [i.e. No. 0 15 30 45 60 minutes per hour to execute the LS command]

6 */10 * ls command is executed every 10 days each month at 6:30 (that is, 1, 11, 21, 31st is 6:30 executes the LS command once. ]

Every day 7:50 executes all executables in the/etc/cron.daily directory as root

7 * * * Root run-parts/etc/cron.daily [Note: The Run-parts parameter indicates that all executables in the following directory are executed. ]

Second, the new scheduling task

There are two ways to add a dispatch task:

1, in the command line input: CRONTAB-E and then add the corresponding task, Wq save the disk to exit.

2, directly edit the/etc/crontab file, that is, vi/etc/crontab, add the corresponding task.

Third, view the scheduling task

Crontab-l//List all current Scheduled tasks

Crontab-l-u JP//List all scheduling tasks for user JP

Iv. Delete Task scheduling work

Crontab-r//Delete all task scheduling work

V. Steering of task Scheduling execution results

Example 1: Execute the LS command 5:30 every day and output the results to the/jp/test file

5 * * * ls >/jp/test 2>&1

Note: 2>&1 indicates execution results and error messages.

Edit/etc/crontab File Configuration cron

Cron service every minute not only to read all the files within/var/spool/cron, but also to read a/etc/crontab, so we configure this file can also use the Cron service to do something. The crontab configuration is for a user, while the edit/etc/crontab is a task for the system. The file format for this file is:

Shell=/bin/bash

Path=/sbin:/bin:/usr/sbin:/usr/bin

Mailto=root//If an error occurs, or if there is data output, the data is sent to this account as an email

home=///user-run path, here is the root directory

# Run-parts

* * * * * root run-parts/etc/cron.hourly//hourly execution of scripts within/etc/cron.hourly

4 * * * Root run-parts/etc/cron.daily//daily execution of scripts within/etc/cron.daily

4 * * 0 root run-parts/etc/cron.weekly//weekly execution of scripts within/etc/cron.weekly

4 1 * * Root run-parts/etc/cron.monthly//monthly to execute scripts within/etc/cron.monthly

Attention to the "run-parts" parameter, if you remove this parameter, you can write a script name to run, instead of the folder name

For example:

1, in the command line input: CRONTAB-E and then add the corresponding task, Wq save the disk to exit.

2, directly edit the/etc/crontab file, that is, vi/etc/crontab, add the corresponding task

2 * RM-RF/MNT/FB

Example: If the user'sCrontabThe contents of the file are:* * * echo its dinner time19:29 show "its dinner Time '

( Create a cron,< Span style= "FONT-SIZE:9PT; line-height:130%; " > every minute in test.txt Enter the current time 1.      linux system I'm using 2.      $crontab –e
description :< Span style= "FONT-SIZE:9PT; line-height:130%; " > The system default editor is vim,

      $export EDITOR 3. Enter "*/1 * * * * Date >> $HOME/test.txt", Save and exit VIM 4. $su root 5. $cd/etc/init.d 6. ./crond Restart Let's take a look at a few specific examples:
0 */2 * * * /sbin/service httpd restart means to reboot Apache every two hours 7 * * */sbin/service sshd start means 7 per day : open ssh service * * */sbin/service sshd stop :< Span style= "FONT-SIZE:9PT; line-height:130%; " >50 close ssh< Span style= "FONT-SIZE:9PT; line-height:130%; " > services 0 0 1,15 * * fsck/home monthly check/home disk 1 and No. 1 * * * */home/bruce/backup the first minute of every hour to execute /home/bruce/backup this file * * 1-5 find/home "*.xxx"-mtime +4-exec rm {} \;Every Monday to Friday3O ' clock, in the catalogue/home*.xxx< Span style= "FONT-SIZE:9PT;" > file and delete 4 days ago files.
1 11, 21 31 Day Yes 630 Execute once ls command

Ii. set up a task plan

/home/www.osyunwei.com/osyunwei.sh #要自动执行的脚本程序路径

chmod +x/home/www.osyunwei.com/osyunwei.sh #对脚本文件添加执行权限, otherwise cannot be executed

Vi/etc/crontab #编辑配置文件, adding content on the last line

1 * * * root/home/www.osyunwei.com/osyunwei.sh #表示每天凌晨1点30执行备份

: wq! #保存退出

Linux OS Timer task system Cron get started

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.