linux的例行工作

目录

1.at(单一的例行任务)

1.1 at基本知识

1.2 at工作过程

1.3at命令

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

时间格式:

1.4 at例子

2.crontab(循环例行任务)

2.1 crontab基本知识

2.2 crontab命令

crontab [参数]

crontab编辑的格式

crontab特殊文字字符

crontab例子

1.at(单一的例行任务)

1.1 at基本知识

at 命令的服务名是: atd (一般服务名都是命令加 d )(使用 yum 安装)
at 中可以定义允许列表和拒绝列表
at 中允许列表 ---/etc/at.allow
at 中拒绝列表 ---/etc/at.deny
at 中记录的任务 , 以文本的形式记录在 /var/spool/at 目录中

1.2 at工作过程

at 会去寻找 /etc/at.allow /etc/at.deny 文件是否存在,存在进行查找。
若两个文件都不存在,则只有 root 用户可以使用 at 命令

1.3at命令

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

at -l 列出当前所有的 at 例行任务
at -d atq )删除 at 中的任务
at -v 较明显的格式列出 at 中的任务
at -c 列出任务时会列出该任务实际内容
at -f 从一个文件中读取

时间格式:

HH:MM
HH:MM YYYY-MM-DD
now +2 minutes (可更换)

1.4 at例子

[root@localhost ~]# yum install -y at
[root@localhost rhcsa]# at now +3 minutes
at> echo "gg" >> /rhcsa/1
at> <EOT> [使用ctrl+d退出编辑]
job 3 at Thu Jul 27 09:30:00 2023
[root@localhost rhcsa]# atq
3 Thu Jul 27 09:30:00 2023 a root

删除单一例行任务
[root@localhost rhcsa]# atq
3 Thu Jul 27 09:30:00 2023 a root
[root@localhost rhcsa]# at -d 3

2.crontab(循环例行任务)

2.1 crontab基本知识

crontab 中允许列表和拒绝列表
crontab 允许列表 ---/etc/cron.allow
crontab 拒绝列表 ---/etc/cron.deny
用户写入循环例行任务后,任务会写在 /var/spool/cron 目录下

2.2 crontab命令

crontab [参数]

crontab -e 编辑一个循环例行任务
crontab -u 只有 root 可用,后面指定用户名,帮某个用户删除 crontab
crontab -l 列出当前 crontab 中的内容
crontab -r 删除所有的 crontab 任务( crontab 删除时进入编辑页面删除即可, -r 删除所有)

crontab编辑的格式

crontab -e
分 时 日 月 周 命令 (6 个字段 )
分: 0-59
时: 0-23
日: 1-31
月: 1-12
周: 0-7

crontab特殊文字字符

* :代表任意时刻(所有时间)
0 9 * * * 命令 (每天的 9 点执行命令)
, :用来分割指定的数字列表
0 1 ,2 * * * 命令 (每天的 1 点和 2 点执行命令)
- :表示数字列表范围
0 1 -3 * * * 命令 (每天的 1 点, 2 点, 3 点执行)
/ :表示时间间隔频率
/15 9 * * * 命令 (每天 9 开始并且割 15 分钟执行一次)
/2 * * * * 命令 (每割 2 分钟执行一次)
0 /2 * * * 命令 (每割 2 小时执行一次)

crontab例子

[root@localhost ~]# crontab -l
0 10 * * * echo "hahaha" >> /rhcsa/1

猜你喜欢

转载自blog.csdn.net/weixin_62173637/article/details/132037747