Linux的例行性工作

root@server \~#watch -n 1 ls /tmp #实时监控tmp,每1s刷新

root@server \~#dnf provides /bin/at #查询安装at服务后的包名

一、单一执行的例行性任务--at

root@server \~# dnf install at -y #安装at服务

root@server \~# systemctl start atd #开启atd服务

root@server \~# systemctl enable --now atd # 设置立即开机启动

root@server \~# systemctl status atd # 查看atd服务状态

at命令(at -参数 日期时间)

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

-l:查看所有用户的at任务

-d:删除任务

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

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

-f:读取文件

#点击ctrl+d 结束交互性界面

root@server \~# echo "echo 'hello again' >> at.txt" | at now +1 minute #通过管道符执行命令

at.allow(白名单):写在该文件中用户才可执行at命令,可以无视黑名单

at.deny(黑名单):写在该文件中的用户不能使用at命令

若at.allow和at.deny都不存在则只有root用户可以使用at命令

二、循环执行的例行性任务--crontab

crontab -参数

-l:查看任务

-e:编辑任务(编写任务时写绝对路径)

-i:删除任务

-r:删除任务

-u:执行任务,指定用户

root@server \~#crontab -u root -e #指定root用户执行命令

cron.d # 系统定时任务

cron.daily # 每天的任务

cront.deny # 定时任务黑名单

cron.hourly # 每小时执行的任务

cron.monthly # 每月的定时任务

crontab # 定义任务管理文件

cron.weekly # 每周的定时任务

练习

  1. 在4月份的周一到周三的上午11点执行脚本

0 11 * 4 1-3 /usr/bash xxxx

  1. 每天早上7点到上午11点且每2小时执行一次

0 7-11/2 * * *

  1. 每天6点执行脚本

0 6 * * *

  1. 每周六凌晨4点执行

0 4 * * 6

  1. 每周六凌晨4点05执行

5 4 * * 6

  1. 每天8:40执行

40 8 * * *

  1. 在每天10:31且每隔2小时执行一次

31 10/2 * * *

  1. 每周一到周五2:00执行

0 2 * * 1-5

  1. 每周一到周五8:00和9:00执行

0 8,9 * * 1-5

  1. 每天10:00,16:00执行

0 10,16 * * *

相关推荐
江华森3 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森3 小时前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode3 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
江华森3 小时前
NumPy 数值计算基础入门
运维
唐青枫5 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux