计划任务简单总结与简单应用

文章介绍了Linux系统中的两个任务管理程序:atd用于一次性任务,如通过at命令安排任务并在完成后自动删除;而crond则是周期性任务的管理者,通过crontab命令编辑定时任务。详细阐述了at和crontab的使用方法,包括任务添加、查看和删除,并给出了示例。
摘要由CSDN通过智能技术生成

atd与crond两个任务管理程序的区别
1). atd守护进程由at文件驱动,多用于一次性任务(临时性任务),执行完毕后自动删除。

可以使用at命令为atd守护进程进行任务排队,共有a-z二十六个队列,队列越后系统优先级越低。

at相关的简单命令:

at timespec

计划新的任务

at -l

获得当前用户待处理的任务的概述

atq

与at -l 一样 获得当前用户待处理的任务的概述

at -q

指定任务队列

atrm jobnumber

删除任务

at -c

执行任务时将运行的实际命令

2). crond守护进程由cronies软件包提供,默认启动并启用,由crontab命令编辑启动,用于周期性作业。

crontab -l

列出当前用户的计划任务

crontab -e

编辑当前用户的任务

crontab -r

删除当前用户的所有任务

crontab -u

超级用户管理其他用户的任务

crontab filename

删除所有任务,并替换为filename读取的任务,没有指定文件则使用stdin

编辑用户的任务默认调用vim工具,书写时按照分钟 小时 日 月份 周(星期几)+命令的顺序书写

书写的语法规则相同

  • *表示无关紧要或始终
  • 数字指定时间或日期,星期分别用0-7表示,0与7都表示星期天
  • x-y(含)表示范围,范围内的整数都会执行
  • x,y表示列表,列表中也可以包含范围
  • */x x表示时间间隔,也就是每x分钟运行一次。
  • 同时月份与周几也可以用英文缩写
  • 天数与周几是或者关系,时间在其他三个要素满足的情况下只需要满足天数或者星期几两个中一个因素就可运行
  • 周期性任务最小单位为分钟,也就意味着只能使用整数。

2.指定在2023/12/12 09:00将时间写入testmail.txt文件中

[ll@Joghsonroc~]$ at 9am December 12 2023
warning: commands will be executed using /bin/sh
at> date >> testmail.txt
at> <EOT>
job 2 at Tue Dec 12 09:00:00 2023

显而易见的,时间过长 下面我们进行修改

[ll@Joghsonroc ~]$ at 18:00 2023-3-11
warning: commands will be executed using /bin/sh
at> date >> testmail.txt
at> <EOT>
job 4 at Sat Mar 11 18:00:00 2023


结果:

[ll@Joghsonroc ~]$ atq
2Tue Dec 12 09:00:00 2023 a ll
[ll@Joghsonroc ~]$ find testmail.txt
testmail.txt
[ll@Joghsonroc ~]$ cat testmail.txt
Sat Mar 11 06:00:00 PM CST 2023
[ll@Joghsonroc ~]$ date
Sat Mar 11 06:01:44 PM CST 2023
[ll@Joghsonroc ~]$


3.指定在每天凌晨4:00将该时间点之前的系统日志信息备份到个目录下(/var/log/messages ),备份后日志文件名显示格式logfileYY-MM-DD HH-MM

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
0 4 * * * root cp /var/log/messages /logfile`date + \%F \%R`; echo > /var/log/messages

注意:命令中%符号未转义需要转义否则无法识别。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值