1. Summarize the detailed usage method of the task plan (at, crontab) on Linux system;
Task Scheduling on Linux:
Task Schedule:
Perform a task at a time in the future: at, Batch
To perform a task periodically: crontab
e-Mail Service:
Smtp:simple Mail Transmission protocol
/var/spool/mail/username
Pop3:post Office Protocol
Imap4:internet Mail Access Protocol
Mua:mail command
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:
To host a job that runs in the future time:
Support for using job queues:
The default is a queue;
Ctrl+d
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]
-u User: Not to manage your own cron task, but to specify the target user's cron task; Root has the ability to manage other users ' cron tasks; default management of their 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;
Thinking:
1, if you want to achieve every 8 minutes to run a task?
2, if you want to achieve every 10 seconds to run a task?
Complementary tools: Anacron:
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
2. 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;
20 3 * * 1,6
cp
-rp
/etc
/backups/etc-
`
date
+%Y-%m-%d`
3.每周日凌晨2点30分,运行cp命令对/etc/fstab文件进行备份,存储位置为/backup/fstab-YYYY-MM-DD-hh-mm-ss;
20
3
*
*
7
root
/
bin
/
cp
-
a
/
etc
/
fstab
/
backup
/
fstab
-
`date
+
%
Y
-
%
m
-
%
d
-
%
H
-
%
M
-
%
S` >
/
dev
/
null
2
>&
1
4、每天晚上12点,取得/proc/meminfo文件中所有以S或M开头的行,追加至/statistics/meminfo.txt文件中,且每天的消息之前,要加上类似===============分隔线;
/bin/echo =============== >/tmp/meminfo.txt&&/bin/egrep "^s|^m"/proc/meminfo >>/tmp/meminfo.txt
Xydiyidao-9 Month 5th Homework