Linux任务计划、周期性任务执行

1、at命令

命令格式:

at  [OPTION]... TIME 

 

TIME:

    HH:MM [YYYY-mm-dd]

    noon,midnight, teatime(4pm),tomorrow

    now+#(例如: now+1hours)

    UNIT:minutes, hours, days, OR weeks

 

at的作业有队列,用单个字母表示,默认都使用a队列;

 

常用选项:

-l:查看作业队列,相当于atq

Linux任务计划、周期性任务执行_第1张图片

-f /PATH/FROM/SOMEFILE:从指定文件中读取作业任务,而不用再交互式输入;

Linux任务计划、周期性任务执行_第2张图片

-d:删除指定的作业,相当于atrm;

Linux任务计划、周期性任务执行_第3张图片

-c:查看指定作业的具体内容;

Linux任务计划、周期性任务执行_第4张图片

-q QUEUE:指明队列;

 

2、cron

周期性任务计划:cron

服务程序:

cronie:主程序包,提供了crond守护进程及相关辅助工具;

 

CentOS 7:

systemctl  status  crond.service

Active: active (running) ... ...

 

CentOS 6:

service  crond  status

... is running

 

# 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        

 

特殊符号 符号 含义 * 表示任意时间都可以 - 表示取值访问

 

crontab命令:

crontab [-u user] [-l | -r | -e] [-i]

-e:编辑任务;

-l:列出所有任务;

-r:移除所有任务;即删除/var/spool/cron/USERNAME文件;

-i:在使用-r选项移除所有任务时提示用户确认;

-u user:root用户可为指定用户管理cron任务;                

 

注意:运行结果以邮件通知给当前用户;如果拒绝接收邮件:

(1) COMMAND > /dev/null       执行了输出到/dev/null

(2) COMMAND &> /dev/null   无论正确和错误都输出到/dev/null

 

练习:

1、每12小时备份一次/etc目录至/backups目录中,保存文件 名称格式为“etc-yyyy-mm-dd-hh.tar.xz”

2、每周2、4、7备份/var/log/secure文件至/logs目录中,文件名格式为“secure-yyyymmdd”;

3、每两小时取出当前系统/proc/meminfo文件中以S或M开头的行信息追加至/tmp/meminfo.txt文件中;

 

制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00

(1)编辑文件脚本配置文件date.sh

[root@localhost tmp]# vim date.sh
#!/bin/bash
date "+%Y-%m-%d %H:%M:%S"

 

(2)更改脚本配置文件的运行级别

[root@localhost tmp]# chmod +x date.sh

 

(3)配置crontab -e 

 

(4)查看crontab -l 

Linux任务计划、周期性任务执行_第5张图片

你可能感兴趣的:(Linux任务计划、周期性任务执行)