linux:计划任务:单一例行性和循环例行性周期任务
创始人
2024-06-02 00:30:55
0

目录

  • 计划任务分类
    • 一,单一性例行的计划任务
      • 例1
      • 知识扩充点
    • 二,循环性的周期任务:
      • 用户的周期性任务
      • 系统的周期性任务
    • 三,案例

计划任务分类

一,单一性例行的计划任务

只执行一次就结束了,一般是用户的延迟任务,可以用命令 at 来执行

在红帽企业版 Linux 中,⽤⼾安排延迟任务,可⽤的解决⽅案之⼀为 at。该软件包提供了 atd 系
统守护进程,以及⼀组与守护进程交互的命令⾏⼯具。在默认情况下,将⾃动安装并启⽤ atd 守
护进程。

使用命令:

at  TIMESPEC(参数)  代表从现在起5分钟之后执行一个任务
⼿动输⼊命令时,你可以按 Ctrl + D 来完成输⼊

TIMESPEC参数与 at 命令可以接受许多强⼤组合。这些组合以时间(例如 02:00、15:59 甚⾄ teatime )开头,后⾯接⼀个可选⽇期或将来的天
数。下⾯列出⼀些可⽤的组合⽰例。

at now +5min
at teatime tomorrow (下午茶时间为 16:00 )
at noon +4 days
at 5pm auguest 3 2023

例1

计划从现在开始1分钟后向所有用户发出 hello

[fu@bogon ~]$ at now +1min
warning: commands will be executed using /bin/sh
at> wall hello
at> 
job 2 at Sat Mar 11 16:51:00 2023

查看当前用户待执行的任务

[fu@bogon ~]$ atq
3	Sat Mar 11 16:53:00 2023 a fu

移除一个待执行任务

[fu@bogon ~]$ atrm 5

知识扩充点

1,at 命令指定的任务的队列是a-z队列,默认是在a队列,-q 参数可以指定队列。其他参数可以看man手

2,在 /var/spool/at 目录下面记载的有对应的待执行的计划任务

3, /etc/cron.deny 文件为不允许使用 at 命令及相关命令的文件,默认这个文件是存在的
/etc/cron.allow 文件与 /etc/cron.deny 文件相反,是允许使用at 及相关命令的文件,默认是不存在的,如果这2 个文件都存在,且在2个文件中都存在相同的用户,则起作用的文件是/etc/cron.allow 文件

[root@bogon ~]# ll /var/spool/
total 0
drwxr-xr-x. 2 root root 63 Mar 11 10:51 anacron
drwx------. 3 root root 31 Mar 11 16:55 at       单一例行的计划任务在这里
drwx------. 2 root root  6 Mar 11 11:07 cron     周期循环的计划任务
drwx--x---. 3 root lp   17 Mar 11 10:52 cups
drwxr-xr-x. 2 root root  6 Aug 10  2021 lpd
drwxrwxr-x. 2 root mail 16 Mar 11 11:02 mail
drwxr-xr-x. 2 root root  6 Feb  1  2022 plymouth
drwxr-xr-x. 3 root root 19 Mar 11 10:52 rhsm

二,循环性的周期任务:

红帽系统默认⾃带了特别针对周期性作业的 crond 守护进程,由 cronie 软件包提供,且默认启动。

crond 守护进程会读取多个配置⽂件(每个⽤⼾对应⼀个配置⽂件,使⽤ crontab 命令进⾏编辑)以及⼀组系统范围内的⽂件。这些配置⽂件使⽤⼾和管理员拥有细微的控制权,可以控制应执⾏周期性作业的时间。

如果计划的命令⽣成了任何未被重定向的输出或者错误,则 crond 守护进程将尝试使⽤系统中配
置的邮件服务器将该输出或错误通过电⼦邮件发送给拥有该作业的⽤⼾(除⾮被覆盖)。根据环
境,这可能需要进⾏其他配置。可以将计划命令的输出或者错误重定向到其他⽂件。

循环性的周期任务有用户的周期性任务以及系统的周期性任务

用户的周期性任务

用户的周期性任务用 crontab -e 命令直接编辑即可
参数的格式:

分 时 日 月 周 命令 要执行的* 表⽰ ⽆关紧要或者始终
x-y 表⽰范围,x 到 y(含)
x,y 表⽰列表。列表也可以包含范围,例如 分钟 列中的 5,10-13,17 表⽰作业应当在每⼩时过去 5 分钟、10 分钟、11 分钟、12 分钟、13 分钟和17 分钟后运⾏
*/x 表⽰ x 的时间间隔,例如 分钟 列中的*/1 表⽰每1分钟运⾏⼀次作业

例:

*/1 * * * * echo 123 >> /home/test.txt      每隔一分钟向 /home/test.txt 文件写入123

相关参数

crontab -l 列出当前⽤⼾的计划作业
crontab -r 删除当前⽤⼾的所有作业
crontab -e 编辑当前⽤⼾的作业
crontab	filename 删除所有作业,并替换为 filename 读取的作业。如果没有指定⽂件, 则使⽤ stdin

系统的周期性任务

/etc/crontab ⽂件的注释中包含了实⽤的语法图。

周期性系统作业在两个位置定义:/etc/crontab ⽂件和 /etc/cron.d/ ⽬录中的⽂件。
要计划周期性系统作业,应始终在 /etc/cron.d ⽬录下创建⾃定义 crontab ⽂件。
通过将⾃定义 crontab ⽂	件放⼊ /etc/cron.d,可以防⽌在 /etc/crontab 的第三⽅软件包更新时将它覆盖。
需要周期性系统作业的软件包会将其 crontab ⽂件放⼊包含作业条⽬的 /etc/cron.d 中。管理员也使⽤此位置
将相关作业组合到单个⽂件中。
crontab 系统中还包含需要每⼩时、每天、每周和每⽉运⾏得脚本的存储库。这些存储库分别对
应于名为 /etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/ 和 /etc/cron.monthly 的⽬
录。这些⽬录中包含可执⾏的 shell 脚本,⽽不是 crontab ⽂件。

⼀个从 /etc/cron.d/0hourly ⽂件调⽤的名为 run-parts 的命令可以运⾏ /etc/cron.hourly/* 脚
本。run-parts 命令也运⾏每⽇、每周和每⽉的作业,但它是从另⼀个名为 /etc/anacrontab 的
配置⽂件调⽤的。

三,案例

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

[root@bogon ~]# at -t 202312120900
warning: commands will be executed using /bin/sh
at> date >> /testmail.txt
at> 
job 6 at Tue Dec 12 09:00:00 2023

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

00 04 * * * cp /var/log/messages /var/log/logfile`date +\%F-\%R`  | echo logfile`date +\%F-\%R` >> /var/log/messages

~

相关内容

热门资讯

安卓手机苹果系统app,兼容性... 你有没有发现,现在手机市场上,安卓和苹果两大阵营的较量越来越激烈了?尤其是安卓手机和苹果系统APP之...
华为手机还原为安卓系统 你有没有发现,有时候华为手机用久了,系统变得有点“臃肿”,运行速度也不如以前那么流畅了呢?别急,今天...
如何把win系统程序改为安卓系... 你是不是也和我一样,手里拿着一台运行着Windows系统的电脑,却突然对安卓系统产生了浓厚的兴趣?想...
安卓系统切换电脑桌面,安卓系统... 你有没有想过,你的安卓手机和电脑桌面之间也能来个亲密接触呢?没错,就是那种无缝切换的感觉,让你在手机...
安卓系统永远在更新吗,引领智能... 你有没有发现,每次打开你的安卓手机,总感觉它像是个永不停歇的小宇宙,总是在更新更新再更新?没错,安卓...
安卓系统好用的折叠手机,安卓系... 你有没有发现,最近手机界可是热闹非凡呢!各大品牌纷纷推出了自家的折叠手机,而安卓系统的好用折叠手机更...
安卓掌机3326系统,深度解析... 你有没有听说过安卓掌机3326系统?这可是最近在游戏圈里火得一塌糊涂的存在呢!想象一台小小的掌机,却...
安卓系统的ping命令大全 你有没有想过,在安卓系统里,那些看似普通的命令其实藏着大大的秘密呢?今天,就让我带你一探究竟,揭开安...
安卓系统绘图板在哪 你有没有发现,用安卓手机画画简直是一种享受呢?不过,有时候找不着绘图板的功能,是不是让你有点头疼呢?...
安卓养老系统叫什么名,智能养老... 你有没有发现,随着智能手机的普及,我们这些“老司机”也开始对手机系统有了更高的要求?这不,最近我在网...
安卓系统刷机怎么激活 你那安卓手机是不是突然卡顿得厉害,或者想尝试一些新功能,却发现自己被困在原版系统里出不来?别急,今天...
安卓系统设置开机自启,深度解析... 你有没有发现,手机用久了,开机速度越来越慢,有时候甚至慢得像蜗牛爬?这可真是让人头疼啊!你知道吗,这...
导航大屏安卓系统版本 你有没有发现,现在汽车里的导航大屏越来越智能了?这不,最近我就在研究这些导航大屏的安卓系统版本,发现...
苹果6备份安卓系统,苹果6备份... 你有没有想过,把苹果6的备份转移到安卓系统上,这事儿听起来是不是有点儿像是在玩穿越时空的魔法?不过别...
安卓系统的彩蛋怎么进,解锁隐藏... 你有没有发现,安卓系统里藏着不少小秘密呢?今天,就让我带你一起探索安卓系统里的彩蛋,看看那些隐藏在角...
安卓系统怎么总重启,探究安卓系... 手机突然重启,是不是瞬间感觉整个人都不好了?尤其是安卓系统,有时候就像个顽皮的孩子,时不时地来个“突...
vr设备是安卓系统吗,安卓系统... 亲爱的读者,你是否曾好奇过VR设备使用的操作系统是安卓系统吗?在这个虚拟与现实交织的时代,VR设备已...
安卓2.3系统输入法 你有没有发现,手机上的输入法真的是个神奇的小玩意儿?它就像你的私人秘书,帮你把心里的话变成文字,记录...
安卓12系统来电话黑屏,安卓1... 最近是不是你也遇到了安卓12系统来电话时手机黑屏的尴尬情况?这可真是让人头疼啊!手机屏幕突然变成了一...
小米9安卓9原生系统,极致性能... 亲爱的数码爱好者们,今天我要和你聊聊一款手机,它不仅在国内市场掀起了一阵热潮,更是让全球的米粉们为之...