linux系统部署延迟任务与定时任务

时间:2022-06-10 21:04:35

定时任务与延迟任务

一.延迟任务:



1.延迟任务:是临时的,不重复的。

当延迟任务有输出,输出会以邮件的形式发送给任务发起人。

邮件用mail查看



at 时间  

任务

ctrl  + d


at -l                                           **查看当前任务

at -c 1(任务编号)                  **查看任务内容

at  now+1min                            **延迟一分钟

at  -f  file                                   **延迟执行文件内容

atrm  1(任务编号)                     **取消任务


例如:[root@localhost ~]# at now+5min    

at> date                          **1分钟后的时间会以邮件形式发送给任务发起人

at> <EOT>

linux系统部署延迟任务与定时任务

例如:at  -l                        查看当前任务

linux系统部署延迟任务与定时任务

例如:at   -c  1                查看任务内容

linux系统部署延迟任务与定时任务linux系统部署延迟任务与定时任务


例如:atrm    7                  取消编号位7 任务

linux系统部署延迟任务与定时任务

[root@localhost ~]# mail                 **查看邮件

、查看结果:

Heirloom Mail version 12.5 7/5/10.  Type ? for help.

"/var/spool/mail/root": 1 message 1 new

>N  1 root                  Thu Apr 12 21:25  14/524   "Output from your job "

& Output from your job

Unknown command: "Output"

&

Message  1:

From root@localhost.localdomain  Thu Apr 12 21:25:08 2018

Return-Path: <root@localhost.localdomain>

X-Original-To: root

Delivered-To: root@localhost.localdomain

Subject: Output from your job        2

To: root@localhost.localdomain

Date: Thu, 12 Apr 2018 21:25:07 -0400 (EDT)

From: root@localhost.localdomain (root)

Status: R

Thu Apr 12 21:25:07 EDT 2018     **邮件内容显示的时间

&                                                  **按q退出


2.设定黑白名单

黑名单:vim /etc/at.deny       **设置了黑名单,名单上的用户不能执行at命令

linux系统部署延迟任务与定时任务


linux系统部署延迟任务与定时任务

linux系统部署延迟任务与定时任务

白名单:touch /etc/at.allow    **当/etc/at.allow文件建立出来,所有人都不能执行at命令,当删除/etc/at.allow文件白名单取消。当把某个用户加入at.allow白名单后可以执行at命令。

注意:root用户不受限制。

linux系统部署延迟任务与定时任务



二.定期任务

1.命令设定

man 5 crontab                                   **查看crontab说明

systemctl status crond.service       **查看crontab状态

systemctl status crond.service       **关闭crontab

crontab -e                                         **设定定时任务

crontab -e -u student                       **设定student用户的定时任务

crontab -l                                          **查看定时任务

crontab -r -u student                        **删除studnet用户定时任务

crontab -u student -l                        **查看student用户的定时任务

例如:systemctl status crond.service       **查看crontab状态

linux系统部署延迟任务与定时任务

例如:crontab -e

linux系统部署延迟任务与定时任务linux系统部署延迟任务与定时任务

例如:crontab -l

linux系统部署延迟任务与定时任务


例如:crontab -e -u  student

linux系统部署延迟任务与定时任务

linux系统部署延迟任务与定时任务


例如:crontab  -u  student    -l     查看student用户的定时任务

linux系统部署延迟任务与定时任务


2.编辑配置文件设定:

vim /var/spool/cron/root               **设定root用户的crontab

vim /var/spool/cron/student        **设定student用户的crontab

3.设定黑白名单

黑名单:vim /etc/cron.deny       **设置了黑名单,名单上的用户不能执行at命令

linux系统部署延迟任务与定时任务

linux系统部署延迟任务与定时任务

linux系统部署延迟任务与定时任务

白名单:touch /etc/cron.allow    **当/etc/cron.allow文件建立出来,所有人都不能执行at命令,当删除/etc/cron.allow文件白名单取消。当把某个用户加入cron.allow白名单时,该用户可以执行crontab命令。

注意:root用户不受限制。

linux系统部署延迟任务与定时任务

4.系统级的crontab只能超级用户设定

交互式编辑:

[root@localhost ~]# /etc/cron.           **Tab显示以下

cron.d/       cron.daily/   cron.hourly/  cron.monthly/   cron.weekly/

 自定义        每天执行      每小时执行    每月执行        每周执行

linux系统部署延迟任务与定时任务

编辑文件自定义:vim /etc/cron.d/文件名称

内容如下:

* * * * *  root  rm -fr /mnt/*            **用户名称必须写

linux系统部署延迟任务与定时任务

linux系统部署延迟任务与定时任务

linux系统部署延迟任务与定时任务


非交互式编辑:echo  "* * * * * student date"  >> /etc/cron.d/student

                **让student用户每分.时.日.月.天执行date的定时任务

例如:echo  "* * * * * student date"  >> /etc/cron.d/student
linux系统部署延迟任务与定时任务

三.系统临时文件的清理