当前位置: 首页 > article >正文

RHCE--at,crontab例行性工作

一:安装at

(1)配置yum仓库:以配置网络源举例:

先在/etc/yum.repos.d/ 目录下创建一个以.repo结尾的文件

vim /etc/yum.repos.d/aliyun.repo

写入可以在阿里云镜像站查找appstream和baseos的地址阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区进去点centos:

[appstream]
name = appstream
baseurl = https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck = 0
[baseos]
name = baseos
baseurl = https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck = 0

(2)下载并安装at

yum install at

二,at(单一执行的例行性工作)

(1)at 命令详解:

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

参数:
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq的别名,可列出目前系统上面的所有该用户的at调度
-d atrm的别名,可以取消一个在at调度中的工作
-v 使用较明显的时间格式,列出at调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业
时间格式:
HH:MM 在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明
天执行
HH:MM YYYY-MM-DD 强制规定在某年某月的某一天的特殊时刻进行该工作
now + 2 minutes 从现在开始几分钟minutes, hours, days, or weeks

使用例子:

[root@localhost ~]# at now + 3 minutes //从现在开始,三分钟后执行什么
[root@localhost ~]# at 20:54 //20:54执行什么
[root@localhost ~]# at 20:55 2024-10-17  //2024年10月17日 20:55执行什么

进入at界面后按Ctrl D 结束输入

(2)at的相关服务文件:

黑白名单:

etc/at.allow,写在该文件的人可以使用at命令

/etc/at.deny,黑名单 写在该文件的人不可以使用at命令

注:1.两个文件如果都不存在,只有root能使用 2.如果不存在白名单,只存在黑名单,默认黑名单之外的人可以使用

#at工作调度对应的系统服务
[root@localhost ~]# systemctl status atd //启用at服务
#at的工作文件存放目录
[root@localhost ~]# ll /var/spool/at  //当创建了一个at时,这个文件下会有相关文件记录
#at工作的日志文件
[root@localhost ~]# ll /var/log/cron  //at的日志文件

三,crontab(循环执行的例行性工作)

(1)命令详解:

[root@localhost ~]# crontab --help
crontab: invalid option -- '-'
crontab: usage error: unrecognized option
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user      //定义用户
-e edit user's crontab     //编辑用户的crontab(默认是本账号用户)
-l list user's crontab     //列出用户的 crontab
-r delete user's crontab   //删除用户的crontab
-i prompt before deleting  //在删除前提示
-n <host> set host in cluster to run users' crontabs   
-c get host in cluster to run users' crontabs
-s selinux context
-V print version and exit     //打印版本并推出
-x <mask> enable debugging    //启用调试

使用例子:

//直接编辑这个文件
[root@localhost ~]# vim /etc/crontab
SHELL=/bin/bash                         //使用的解释器的路径
PATH=/sbin:/bin:/usr/sbin:/usr/bin      //解释器寻找命令的寻址路径
MAILTO=root                             //给哪个用户发邮件
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
//分 时 日 月 周 用户 执行的命令
 *  *  *  *  3 touch file-'date "+\%Y-\%H-\%M"'.txt

也可以crontab -e 直接写入以上最后一行

意思是:每周三的每分钟创建一个file-当前时间.txt的文件

注意:%在crontab里面有特殊含义,如果有命令里面需要使用%,需要使用\转义

当日月与周同时存在时,他们两之间是或的关系,其他情况是与的关系例如:

1  *  */7 * 1  wall hello  每个月每隔7天的一点,或者每周一1点,向当前系统所有打的终端输出hello


http://www.kler.cn/a/355058.html

相关文章:

  • 基于earthSDK三维地图组件开发
  • 《战神:诸神黄昏》游戏运行时提示找不到gamede.dll文件怎么办?gamede.dll丢失的修复指南
  • Next.js 14 性能优化:从首屏加载到运行时优化的最佳实践
  • IMX芯片启动方式
  • C++----------类的设计
  • 重温设计模式--状态模式
  • 滚雪球学Redis[5.3讲]:Redis持久化优化深度解析:RDB与AOF的策略选择与实践
  • Unity3D 框架如何实现道路引导 UV 动画详解
  • 如何优化API以提高数据获取的准确性?
  • 从MySQL到OceanBase离线数据迁移的实践
  • 鸿蒙跨设备协同开发06——应用接续
  • SpringCloud Gateway 网关路由全自动实现方案
  • MongoDB未授权访问
  • 《Spring Boot 应用开发研究》
  • 【OSCP Proving Grounds 靶场系列】Slort
  • oracle查询数据库占用大小
  • VTK的学习方法-第一类型应用
  • 后端——eclipse实现前端后端的交互(1)
  • SpringCloud学习记录|day5
  • 常用的字符集(ASCII、GBK)
  • 速卖通关键字搜索接口技术解析及Python代码示例
  • leetcode哈希表(三)-两数之和
  • Nordic 学习小记录
  • R语言:ERGM指数随机图模型
  • Navigation2 算法流程
  • IDEA启动报错,java: OutOfMemoryError: insufficient memory