计划任务at crontab

一,一次性的计划任务 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

6,不安装图形化界面

tcp链接数

临时调

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

相关推荐
the_nov13 分钟前
14.网络套接字TCP
linux·c++·网络协议
电星托马斯19 分钟前
C++中顺序容器vector、list和deque的使用方法
linux·c语言·c++·windows·笔记·学习·程序人生
古希腊掌握嵌入式的神40 分钟前
[物联网iot]对比WIFI、MQTT、TCP、UDP通信协议
网络·物联网·网络协议·tcp/ip·udp
爱写代码的小朋友1 小时前
华三交换机配置常用命令
运维·服务器·网络
wangjun51591 小时前
jenkins 参数化发布到服务器 publish over ssh、label、Parameterized publishing
服务器·ssh·jenkins
愚润求学1 小时前
【Linux】Linux权限
linux·服务器·语法
半句唐诗1 小时前
设计与实现高性能安全TOKEN系统
前端·网络·安全
低头不见1 小时前
一个服务器算分布式吗,分布式需要几个服务器
运维·服务器·分布式
麻芝汤圆2 小时前
使用 MapReduce 进行高效数据清洗:从理论到实践
大数据·linux·服务器·网络·数据库·windows·mapreduce
赋创小助手2 小时前
Gartner预计2025年AI支出达6440亿美元:数据中心与服务器市场的关键驱动与挑战
运维·服务器·人工智能·科技·架构