自学内容网 自学内容网

RHCE例行性工作笔记

1、单一执行的例行性工作

单一执行的例行性工作: 仅处理执行一次就结束了
at命令的工作过程
/etc/at.allow ,写在该文件的人可以使用 at 命令
/etc/at.deny ,黑名单
两个文件如果都不存在,只有 root 能使用
#at 工作调度对应的系统服务
[root@localhost ~] # systemctl status atd
#at 的工作文件存放目录
[root@localhost ~] # ll /var/spool/at
#at 工作的日志文件
[root@localhost ~] # ll /var/log/cron
at命令详解
命令格式: at [参数] [时间]
参数:
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq 的别名,可列出目前系统上面的所有该用户的 at 调度
-d atrm 的别名 , 可以取消一个在 at 调度中的工作
-v 使用较明显的时间格式,列出 at 调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业
时间格式:
HH:MM 在今天的 HH 小时 MM 分钟执行,如果今天的这个时间点已经过了,则明
天执行
HH:MM YYYY-MM-DD 强制规定在某年某月的某一天的特殊时刻进行该工作
now + 2 minutes 从现在开始几分钟 minutes, hours, days, or weeks
示例:
# 定义三分钟之后显示 hello
[root@server ~] # at now + 3 minutes

2、循环执行的例行性工作

循环执行的例行性工作:每隔一定的周期就需要执行一次
crontab(定时任务)的工作过程
/etc/cron.allow ,写在该文件的人可以使用 crontab 命令
/etc/cron.deny ,黑名单
两个文件如果都不存在,只有 root 能使用
#crontab 工作调度对应的系统服务
[root@localhost ~] # systemctl status crond
#crontab 工作的日志文件
[root@localhost ~] # ll /var/log/cron
# 用户定义计划任务的文件所在目录
[root@localhost ~] # ll /var/spool/cron/
crontab 命令详解
[root@localhost ~] # crontab --help
crontab: invalid option -- '-'
crontab: usage error: unrecognized option
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u          <user> define user       用户身份定义       
-e          edit user 's crontab         编辑用户的 crontab
-l           list user 's crontab           列出用户的 crontab 
-r          delete user 's crontab      删除用户的 crontab 
-i           prompt before deleting       在删除之前提示
-n        <host> set host in cluster to run users ' crontabs           设置集群中运行用户的 crontabs 的主机
-c         get host in cluster to run users ' crontabs     获取集群中运行用户的 crontabs 的主机
-s         selinux context          selinux 上下文
-V        print version and exit    打印版本并退出
-x        <mask> enable debugging     启用调试
crontab计划任务的时间格式:
分      时     日    月    
0-59 0-23 1-31 1-12 0-7
crontab计划任务的时间格式中的特殊符号:
特殊字符
含义
*
代表任何时刻
,
代表分隔时段
-
代表一段时间范围
/ 数字
指定时间的间隔频率,例如每 3 分钟进行一次, */3
注: % crontab 里面有特殊含义,如果有命令里面需要使用 % ,需要使用 \ 转义

实例:

# 每天早上 9 点整说 good morning
[root@server ~] # crontab -e
0 9 * * * wall "good morning"
系统的计划任务
[root@localhost ~] # cat /etc/crontab
SHELL = /bin/bash
PATH = /sbin:/bin:/usr/sbin:/usr/bin
MAILTO = root
# For details see man 4 crontabs
# 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
当需要同一时间执行多个脚本时,可以将这多个脚本放在一个目录下,然后使用 run-parts 来执
行。
run-parts :该命令可将后面接的 目录 内的所有文件找出来执行。

原文地址:https://blog.csdn.net/yhahab/article/details/143027855

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!