计划任务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

相关推荐
仙俊红12 分钟前
计算机网络知识总结01
网络·计算机网络·智能路由器
zeijiershuai14 分钟前
Linux、Linux常用命令、Linux软件安装、Linux项目部署
linux·运维·服务器
小宇的天下15 分钟前
Calibre nmDRC 高级边缘处理与输出控制(17)
linux·运维·lvs
有一个好名字22 分钟前
Spring Boot 依赖注入指南:多种方式深度剖析与代码演示
java·服务器·spring boot
大聪明-PLUS1 小时前
工业控制器、Linux 和纯 C++。第一部分
linux·嵌入式·arm·smarc
碎碎思1 小时前
从 JTAG 启动 Zynq-7000 嵌入式 Linux:使用 XSCT 全流程教程
linux·运维·服务器·fpga开发
herinspace1 小时前
管家婆网店ERP如何录入成本调价单
服务器·数据库·oracle·智能手机·电脑
星盾网安1 小时前
智慧门店系统开发-04-Web服务器搭建
运维·服务器
一颗青果1 小时前
单例模式 | 死锁
linux·服务器·单例模式·1024程序员节
Tandy12356_1 小时前
手写TCP/IP协议栈——实现ping响应不可达
c语言·网络·c++·网络协议·tcp/ip·计算机网络