计划任务at crontab

发布时间:2024年01月04日

一,一次性的计划任务? at

(一)at相关命令

at?时间

ctrl +d? ? ? ? ? ? ? ? ? ? ? ? ? ? 提交

atq? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看计划任务

atrm?任务序号列? ? ? ? ? ? 可以删除任务

(二)at?相关配置文件

at 命令的访问控制是依靠 /etc/at.allow(白名单)/etc/at.deny(黑名单)这两个文件来实现的,具体规则如下:

1,如果系统中有 /etc/at.allow 文件,那么只有写入 /etc/at.allow 文件(白名单)中的用户可以使用 at 命令,其他用户不能使用 at 命令(注意,/etc/at.allow 文件的优先级更高,也就是说,如果同一个用户既写入 /etc/at.allow 文件,又写入 /etc/at.deny 文件,那么这个用户是可以使用 at 命令的)。

2,如果系统中没有 /etc/at.allow 文件,只有 /etc/at.deny 文件,那么写入 /etc/at.deny 文件(黑名单)中的用户不能使用 at 命令,其他用户可以使用 at 命令。不过这个文件对 root 用户不生效。

3,?如果系统中这两个文件都不存在,那么只有 root 用户可以使用 at 命令。

(三)常用方式

1,

HH:MM YYYY-MM-DD? ? ??02:00 2023-10-20 ?

规定在某年某月的某一天的特殊时刻进行该项任务

2,

HH:MM[am|pm] [Month] [Date]

06pm March 17

3,

HH:MM[am|pm] + number? ? ?在某个时间点再加几个时间后才进行该
项任务

now + 5 min?
02pm + 3 days

二,周期性的计划任务crontab

systemctl status crond.service? ? 先看一下开没开

(一)选项

-u user用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo 用户的 crontab 服务,此选项一般有 root 用户来运行。
-e编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
-r从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
-i在删除用户的 crontab 文件时,给确认提示。

crontab -e
#进入 crontab 编辑界面。会打开Vim编辑你的任务
* * * * * 执行的任务?

(二)crontab -e?具体介绍

项目含义范围
第一个"*"一小时当中的第几分钟(minute)0~59
第二个"*"一天当中的第几小时(hour)0~23
第三个"*"一个月当中的第几天(day)1~31
第四个"*"一年当中的第几个月(month)1~12
第五个"*"一周当中的星期几(week)0~7(0和7都代表星期日)

?在时间表示中,还有一些特殊符号需要学习

特殊符号含义
*(星号)代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。
,(逗号)代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠)代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。
/(正斜线)代表每隔多久执行一次。比如"*/10命令",代表每隔 10 分钟就执行一次命令。

?例如:

每月的 1号 15号 ?30号
* * ? 1,15,30 ?* ?*

中午 ?12点 ?- ?16点?
* ?12-16?* ?* ?*

每 ?半小时 执行 ?一次
*/30 ?? * * *? *

(三)看任务列表

crontab? -l

(四)注意事项

  • 6 个选项都不能为空,必须填写。如果不确定,则使用“*”代表任意时间。

  • crontab 定时任务的最小有效时间是分钟,最大有效时间是月。像 2018 年某时执行、3 点 30 分 30 秒这样的时间都不能被识别。

  • 在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易让管理员混淆。哪一天和哪个星期会打架

  • 在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错。(不想使用绝对路径,可以把path放到第一行)

  • 提示信息放在邮件,不在日志(因为还没执行)

  • `` 调用命令执行结果??

    croncron任务中不建议使用%,它有特殊用途,它表示换行的特殊意义,且第一个%后的所有字符串会被将
    成当作命令的标准输入,如果在命令中要使用%,则需要用 \ 转义
    注意:将%放置于单引号中是不支持的tab这样命令用不了,% 有特殊含义 所以要加 \%

三,系统的优化

1,关闭不必要的开机自启动程序

2,禁止使用超级管理员

3,使用国内的yum 源

4,内核调优

? ? ? ?(开启路由转发功能)

? ? ? ? ? (tcp 链接数)

5,关闭核心防护 ?selinux

tcp链接数

临时调

意义,nginx 能接受30000 但是系统最多只能1024

文章来源:https://blog.csdn.net/wyq2070857323/article/details/135391575
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。