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

相关推荐
饮啦冰美式9 分钟前
22.04Ubuntu---ROS2使用rclcpp编写节点
linux·运维·ubuntu
wowocpp9 分钟前
ubuntu 22.04 server 安装 和 初始化 LTS
linux·运维·ubuntu
wowocpp10 分钟前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
Huaqiwill10 分钟前
Ubuntun搭建并行计算环境
linux·云计算
wclass-zhengge13 分钟前
Netty篇(入门编程)
java·linux·服务器
Lign1731414 分钟前
ubuntu unrar解压 中文文件名异常问题解决
linux·运维·ubuntu
方方怪18 分钟前
与IP网络规划相关的知识点
服务器·网络·tcp/ip
vip4511 小时前
Linux 经典面试八股文
linux
大霞上仙1 小时前
Ubuntu系统电脑没有WiFi适配器
linux·运维·电脑
weixin_442643421 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统