快数学会linux的例行性工作,at命令,crontab命令

本文详细介绍了Linux系统中用于任务调度的at和crontab命令。at命令适用于一次性任务,其工作流程涉及at.allow和at.deny文件的权限控制。crontab则用于周期性任务,其工作由crond服务控制,权限管理通过cron.allow和cron.deny文件。文章通过实例展示了如何设置和管理这两种任务调度方式。
摘要由CSDN通过智能技术生成


at命令

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

单一执行的例行性工作:单一执行的例行性工作:仅处理执行一次就结束了,at -> atd

我们使用 at 命令来生成所要运行的工作,并将这个工作,以文本方式写入/var/spool/at/目录内,该工作便能等待 atd 这个服务的取用与执行了。

为了安全问题,不是所有人都可以进行 at 工作调度。我们可以利用/etc/at.allow和/etc/at.deny 这两个文件来进行 at 的使用限制。

1、at命令的实际工作过程

1、寻找到/etc/at.allow文件存在,写在这个文件的用户才能使用at命令

2、/etc/at.allow不存在,则寻找/etc/at.deny文件,写在该文件的用户不能使用at命令

3、若两个文件都不存在,那么只有root可以使用at命令

注意:在 rhel 里面,由于假设系统上的所有用户都是可信任的,所以允许所有人使用 at 命令,/etc/at.deny 文件为空,如果你想设置拒绝某人使用 at 命令,你可将该用户写入/etc/at.deny文件

2 at命令详解

命令格式:at [参数] [时间]

参数说明
-m当任务完成之后,即使没有标准输出,将给用户发送邮件
-latq的别名,可列出目前系统上面的所有该用户的at调度
-datrm的别名,可以取消一个在at调度中的工作
-v使用较明显的时间格式,列出at调度中的任务列表
-c可以列出后面接的该项工作的实际命令内容
-f从文件中读取作业

时间格式

参数说明
HH:MM在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明天执行
HH:MM YYYY-MM-DD强制规定在某年某月的某一天的特殊时刻进行该工作
now + 2 minutes从现在开始几分钟minutes, hours, days, or weeks

1.at 配置在5小时后,将 “This is a at task” 写入 root家目录中的at_test文件中

[root@YXP at]# at now + 2 hours 
warning: commands will be executed using /bin/sh
at> echo "This is at task" > /root/at_test
at> <EOT>
job 1 at Mon Jul 25 22:51:00 2022
[root@YXP at]# ls
a0000101a5d83b  spool

crontab命令

循环执行的例行性工作:每隔一定的周期就需要执行一次,crontab循环执行的例行性工作调度是由crond这个系统服务来控制的。同样,我们也可以限制使用crontab的用户账号。

1、crontab命令的实际工作过程

1、以账号来判别是否可使用crontab命令

• /etc/cron.allow 将可以使用 crontab 的账号写入其中,若不在该文件内的用户 则不可使用 cronta

• /etc/cron.deny 将不可以使用 crontab 的账号写入其中,若不在该文件内的用 户则使用 crontab。

2、当用户使用 crontab 新建工作调度之后,该项工作就会被记录到/var/spool/cron/里面

3、cron 执行的每一项工作都会被 记录到/var/log/cron这个日志文件中

2、crontab命令详解

命令格式crontab [-u user] [-l | -r | -e]

参数说明
-u只有 root 才能进行这个任务,帮某个用户新建/删除 crontab
-e编辑 crontab 的工作内容
-l查阅 crontab 的工作内容
-r删除所有的 crontab 的工作内容

编辑 crontab

[root@localhost cron]# crontab -e

文件格式为:每一行为一个工作,每项工作具有六个字段

代表意义分钟小时日期月份命令
数字范围0-590-231-311-120-7
0和7都代表周日
执行的命令

文件内的特殊字符:

特殊字符含义
*代表任何时刻
,代表分隔时段
-代表一段时间范围
/数字指定时间的间隔频率,例如每 3 分钟进行一次,*/3

2.crontab配置,每周六,周日 9点半,14点 提醒我上RHCE课 写入root家目录中的cron_test文件中

[root@YXP at]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab     
[root@YXP at]# cd /var/spool/cron
[root@YXP cron]# ls
root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值