Tasks scheduled in Linux, scheduled to perform certain tasks or periodically perform certain tasks
Task Schedule:
Perform a task at a time in the future: at, Batch
To perform a task periodically: crontab
After completing the task, Liunx will send a message to the current user
Email service: Smtp:simple Mail Transmission protocol
Paths in Linux:/var/spool/mail/username
View Mail commands: Yum install mailx installation Mail Service 650) this.width=650; "Src=" http://s3.51cto.com/wyfs02/M00/72/E1/ Wkiom1xvawvsgl6iaart3_cagbs158.jpg "/>
Mail Command :
Mail: Enter the interactive email interface;
Mail-s ' SUBJECT ' [email protected]
Mail-s ' SUBJECT ' [email protected] </path/from/somefile
COMMAND | Mail-s ' SUBJECT ' [email protected]
AT command: 650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/72/DD/wKioL1XvA5awEl4rAAHkjuMBAgA441.jpg "/>
To host a job that runs in the future time:
Support for using job queues:
The default is a queue;
CTRL+D: Submitting a task
At [option] ... Time
Time:
(1) Absolute time
HH:MM,
Mmdd[cc]yy, Mm/dd/[cc]yy, dd.mm.[cc]yy or [cc]yy-mm-dd
Tomorrow
(2) Relative time
now+ #UNIT
Minute, hour, day, week
(3) Blur time
Midnight
Noon
Teatime
Common options:
-Q queue:at Job queue;
-f/path/from/somefile: Reads the job to be run from the specified file;
-L: View a list of such running jobs in the job queue; equivalent to using the ATQ command;
-C At_job_num: Look at the contents of the running job;
-D: Delete the specified job; equivalent to ATRM
Batch
The system chooses to run the specified task when the resource is more idle;
Crontab: Recurring Task Schedule
Daemon: Crond
There are two types of recurring tasks:
(1) System cron task; There is no default running user identity, so you need to specify the additional runner;
/etc/crontab
Vim command
# 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
7 fields:
Top 5 fields: Point in time
User-name: Run the task as a user
command to being executed: to run a task
(2) User Cron Task: Submitted by a user, the default is to run as the submitter, so there is no need to specify the additional runner;
/var/spool/cron/username
VIM command; not recommended
crontab Command: Recommended
# 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
# | | | | |
# * * * * * command to be executed
5 Time points:
Minutes: valid value range 0-59;
Hours: 0-23
Day: 1-31
Month: 1-12
Weeks: 0-7
Note: The date of the month and the number of weeks, not recommended to use at the same time;
For example:
6* * * *
Time notation:
*: Each time point in the valid value range of the time point;
-: A specific continuous time range, 3-7
,: A discrete point in time, 3,5,7
/#: The amount of time in a valid time frame, for specifying the frequency;
1-30/4,*/4
5 */3* * */bin/echo "howdy"
5 7 * * 1-5/bin/echo "Howdy"
crontab command:
Crontab[-u user] [-l |-r |-e]
-uuser: Instead of managing its own cron task, it is the cron task of the specified target user; only Root has permission to manage other users ' cron tasks; By default it manages its own;
-l:list, list the tasks;
-r:remove to remove all tasks;
-e:edit, edit, open a default editor for the current shell session to edit the cron task table;
Attention:
(1) If you do not want to receive notification messages for task execution results:
COMMAND >/dev/null
Command&>/dev/null
(2) for crontab file,% has a special function, if the command will appear in the%, remember to escape, or use single quotation marks to its reference;
(3) Crontab's path variable is not exactly the same as the user's variable, so it is recommended that the task in cron use an absolute path
/root/bin/a.sh
Practice:
1. Every Monday to Saturday 3:20 A.M., run the CP command to save the/etc/directory, storage location is/BACKUPS/ETC-YYYY-MM-DD;
~]# crontab-l
3 * * 1-6/bin/cp/etc-rpf/backups/etc-' file\%y-\%m-\%d '
2. Every Sunday 2:30 A.M., run the CP command to back up the/etc/fstab file with a storage location of/BACKUP/FSTAB-YYYY-MM-DD-HH-MM-SS
~] #crontab-L
2 * * 7/bin/cp/etc/fstab/backup/fstab-' file\%y-\%m-\%d-\%h-\%m-\%s '
3. Every night 12 o'clock, obtain all lines in the/proc/meminfo file that begin with S or M, append to the/statistics/meminfo.txt file, and precede the daily message with a similar =============== separator line;
~] #crontab-L
0 * * * echo "===============" >>/proc/meminfo | Egrep "^s|^m"/proc/meminfo >>/statistics/meminfo.txt
This article is from the "Lost Lamb" blog, please be sure to keep this source http://humingfeeling.blog.51cto.com/386110/1692946
Linux Task Scheduler (AT,CRONTAB)