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

linux的例行性工作(at)

使用场景:

  • 生活中,我们有太多场景需要使用到闹钟,比如早上 7 点起床,下午 4 点开会,晚上 8 购物,等

  • 在 Linux 系统里,我们同样也有类似的需求。比如我们想在凌晨 1 点将文件上传服务器,或在 晚上 10 点确认系统状态,等等。

at 命令就是为这个需求而诞生的。使用 at 命令,你可以在特定时间自动完成你所设定的任务, 也可以实现自动化,非常方便快捷!

单一执行的例行性任务---at(一次性)

安装

  • at命令需要安装

[root@server ~]# yum install at -y

[root@server ~]# at -V # 大写V

at version 3.2.2

  • 启动服务

[root@server ~]# systemctl start atd

[root@server ~]# systemctl enable --now atd # 设置开机启动

[root@server ~]# systemctl status atd # 查看状态

at命令详解

格式:at -参数 日期时间

参数

-m:当任务完成后,即使没有标准输出,也会给用户发送邮件

-l:列出系统上所有用户的at任务,等价于atq

-d:删除或取消一个任务

-v:使用时间格式,列出at任务

-c:可以列出任务之后的命令内容

-f:从文件中读取

时间格式

实验1:延迟执行ls  /root,并将结果写入at.txt中

[root@server ~]# at 14:17

warning: commands will be executed using /bin/sh

at> ls /root > at.txt

at> <EOT> # 点击ctrl+d 结束交互性界面

[root@server ~]# at -l # 查看已存在的计划任务

3 Thu May 25 14:17:00 2023 a root

[root@server ~]# atq # 同上

3 Thu May 25 14:17:00 2023 a root

实验2:不使用交互性命令实现,通过管道符命令执行

[root@server ~] # echo "echo 'hello again' >> at.txt" | at now +1 minute

注意:

  • at命令只要指定的时间正确,就可以执行对应的命令
  • at命令的输出结果不会显示到屏幕上
  • at命令中执行的命令最好使用绝对路径,不容易报错
  • 过程:输入at 时间 -> 回车 ->输入执行的命令->ctrl+d退出at
  • at命令只会执行一次

at命令执行过程分析

  • 第一步:寻找/etc/at.allow (白名单)是否存在,写在该文件中用户才可执行at命令
  • 第二步:若/etc/at.allow不存在,则寻找/etc/at.deny(黑名单)文件,写在该文件中的用户不能使用 at命令
  • 第三步:若两个文件都不存在则只有root用户可以使用at命令
  • 注意:若拒绝某用户使用at命令则可以将用户名写入到/etc/at.deny

实验3:设置某账户at命令不可用

[root@server ~]# useradd ce1 # 新建账户

[root@server ~]# passwd ce1 # 设置密码

更改用户 ce1 的密码 。

新的密码: # 654321

无效的密码: 密码少于 8 个字符

重新输入新的密码: # 654321

passwd:所有的身份验证令牌已经成功更新。

[root@server ~]# tail -1 /etc/passwd # 倒叙查看账户管理文件

ce1:x:1001:1001::/home/ce1:/bin/bash

[root@server ~]# vim /etc/at.deny # 设置黑名单

ce1 # 输入

[root@server ~]# su ce1 # 切换账户

[ce1@server root]$ cd ~

[ce1@server ~]$ at 14:36 # 测试,at命令不可用

You do not have permission to use at.

[ce1@server ~]$ su root # 切换到root账户

密码:

su: 拒绝权限

# 安全考虑,openEuler做了用户权限切换限制,解决方法如下:

# 重新开启一个ssh连接,以root账户登录

[root@server ~]# vim /etc/pam.d/su # PAMPluggable Authentication Modules)负责

系统中很多应用程序的登录认证,安全设置问题

# 注释掉第21行:

# auth required pam_wheel.so use_uid

# 保存关闭后,切换到原ssh连接

[ce1@server ~]$ su root

密码:

Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64

System information as of time: 20231115日 星期三 13:38:45 CST

System load: 0.00

Processes: 139

Memory used: 9.8%

Swap used: 0%

Usage On: 7%

IP address: 192.168.48.130

Users online: 2

[root@server ce1]# cd ~

[root@server ~]#

相关文章:

  • JS自动化获取网站信息开发说明
  • 巧用 Element - UI 实现图片上传按钮的智能隐藏
  • 【linux】SSH 连接 WSL2 本地环境的完整步骤
  • 《探秘计算机启动幕后英雄:BIOS/UEFI与GRUB/bootloader》
  • 苹果计划2026年底前实现美版iPhone“印度造”,以减轻关税及地缘政治风险
  • 【Linux网络】HTTP协议全解析 - 从请求响应到方法与Header
  • 【NeurlPS 2024】MAR:无矢量量化的自回归图像生成
  • 5G融合消息PaaS项目深度解析 - Java架构师面试实战
  • Adruino:人机界面及接口技术
  • 【数据结构与算法】从完全二叉树到堆再到优先队列
  • 【Redis——通用命令】
  • 【Linux应用】交叉编译环境配置,以及最简单粗暴的环境移植(直接从目标板上复制)
  • goweb-signup注册功能实现
  • xVerify:推理模型评估的革新利器,重塑LLM答案验证格局?
  • 《TCP/IP详解 卷1:协议》之第七、八章:Ping Traceroute
  • 【Web应用服务器_Tomcat】二、Tomcat 核心配置与集群搭建
  • 【高频考点精讲】第三方库安全审计:如何避免引入带漏洞的npm包
  • 机器学习之一:机械式学习
  • CentOS 如何使用截图工具截取命令行操作的图片?
  • 计算机网络 | 应用层(1)--应用层协议原理
  • 这座“蚌埠住了”的城市不仅会接流量,也在努力成为文旅实力派
  • 费高云调研党的建设工作:营造风清气正劲足的政治生态
  • 中介在网上非法贩婴“一个孩子8.5万元”?丹阳警方介入
  • 非法收受财物逾1648万,湖南原副厅级干部康月林一审被判十年半
  • 第二十届中国电影华表奖揭晓!完整获奖名单来了
  • 榆林市委常委王华胜已任榆林市政协党组书记