Linux从入门到精通——系统定时任务及延时任务

本文介绍如何使用at命令和crontab进行系统延时与定时任务的设置,包括任务的创建、查看、取消及黑白名单管理,并涉及临时文件的管理。

一.系统延时任务

1.使用的命令为:at

at 23:37             ##设定任务执行时间

at> rm -fr /mnt/*       ##任务动作at> <EOF>   <<ctrl +D    ##用ctrl+D发起

 

 

设定在具体时间执行任务

 

 

 桌面上的file文件在设定时间被删除

 


at now+1min           ##延时1分钟
at> rm -fr /mnt/*
at> <EOF>  

 


 

设定一分钟后删除桌面上的所有文件

 

 

可以看到一分钟后桌面上的文件都被删除了

 

 

at -l                 ##查看任务列表
at -c   任务号          ##查看任务内容
at -r   任务号          ##取消任务执行

 

 

查看待执行的任务,job后跟的数字即为任务号,由于五号任务已经执行过了,所以没有显示,可以看到桌面上已经建立有新的五个文件

 

 

显示任务内容

 

 

取消任务执行

 

 

注意:当任务有输出时,输出会以邮件的类型发送给at任务的发起者

mail  -u  username            ##查看指定用户的邮件
1                         ##查看第一封邮件
q                      ##退出

 

 

查看超级用户的邮件

 

 

查看超级用户的第一封邮件,按q推出

 



2.at黑白名单
> /var/spool/mail/root   ##清空邮件
vim /etc/at.deny        ##系统默认存在,在此文件中出现的用户不能执行at
vim /etc/at.allow        ##系统默认不存在,如果该文件存在,只有在该文件里的普通用户可以执行at命令,且默认不再读取at.deny

 

 1 vim /etc/at.deny                                                                   

 

 

yasuo用户没有权限使用at命令

 

 

而不在黑名单的zed用户则可以使用at命令

 

 

在白名单中的yasuo可以使用at命令,此时yauo虽然也在黑名单中,但是系统默认不再读取黑名单,而不在白名单中的zed则无法使用

 


二.系统定时任务
1.crontab 时间表示方式
* * * * *      ##每分钟
*/2 * * * *      ##每两分钟
*/2 09-17 * * *    ##在早九点到晚五点每隔两分钟
*/2 */2 * * *      ##每隔两小时两分钟
*/2 09-17 3,5 1 5   ##三月和五月的一号和每周周五,在早九点到晚五点每隔两分钟

 

使用man  crontab可以查看时间格式

 

 

 

2.系统控制crontab的服务


crond.service        ##当服务开启时定时任务生效,关闭时则不生效

 

 

 



3.crontab命令
crontab -e -u           ##编辑文件(edit),-u表示指定用户
crontab -l -u            ##显示文件(list)
crontab -r -u            ##删除文件(remove)

 

编辑格式为:

time    action

例如:

* * * * *  rm-fr /mnt/*

 

 1 crontab -e -u root                                                          

 

设定以root用户的身份每分钟清理一次/mnt目录

 

 

查看文件的内容

 

 

删除文件

 

 

 

/var/spool/cron/xxx       ##用命令编辑的文件的实际地址


4.以文件方式设定定时任务
vim /etc/cron.d/file    ##新建一个设定文件

编辑格式为:
time      username     action
例如:
* * * * *   root       rm -fr /mnt/*      ##以root用户的身份,每分钟清理一次/mnt目录

 

 1 vim /etc/cron.d/file                                               

 

退出保存后将看到每分钟都会打开一个shell(gnome-terminal命令可以打开新的shell)

 


使用输入重定向添加文件内容:
echo "* * * * *       username        action" > /etc/cron.d/file

 

 


注:这种方式设定的任务用crontab -e 是看不到文件内容的,只有超级用户才可以。

 

5.crontab黑白名单


/etc/cron.deny     ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow     ##系统中默认不存在,当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/at.deny会失效


注:这两个名单都不会影响/etc/cron.d/目录中定时任务的发起和执行



三.系统中临时文件的管理

一些程序在运行的过程中会产生大量的临时文件,如在下载和安装'卸载软件、打开电子邮件和即时消息程序中的文件或传输文件时会创建临时文件。通常,创建临时文件的程序会在完成时将其删除,但有时候这些文件会被保留。临时文件被保留的原因可能有多种:程序可能在完成安装前被中断,或在重新启动时崩溃。为了提高运行速度,Internet Explorer 之类的 Web 浏览程序会在硬盘中保存网页的缓存,这也是临时文件。


cd /usr/lib/tmpfiles.d/      ##临时文件地址
vim legend.conf        ##新建一个处理临时文件的配置文件,名字任意,后缀必须是conf,否则系统不会读取

编辑格式为:

文件类型  文件名称  文件权限  所有者  所有组  存在时间
  d     /mnt/westos      777        root     root      8s  

 

 1 cd /usr/lib/tmpfiles.d

2 vim legend.conf                                         

 

 


systemd-tmpfiles --create  /usr/lib/tmpfiles.d/*  ##使临时文件配置生效

 

转载于:https://www.cnblogs.com/ChairmanYSL/p/9433772.html

Linux中,我们可以使用cron和at命令来创建定时任务延时任务。cron是一个在后台运行的守护进程,它可以根据预定的时间表执行命令或脚本。而at则是一种命令行工具,可以在指定的时间执行一次性任务。 1. 定时任务Linux系统中,定时任务可以使用cron命令进行配置。cron命令允许用户在指定的时间间隔内从命令行或脚本中运行命令。 在cron中,时间间隔由5个字段来定义: ``` * * * * * command to be executed - - - - - | | | | | | | | | +----- day of the week (0 - 6) (Sunday=0) | | | +------- month (1 - 12) | | +--------- day of the month (1 - 31) | +----------- hour (0 - 23) +------------- min (0 - 59) ``` 例如,要在每周一的早上5点运行一个脚本,可以使用以下命令: ``` 0 5 * * 1 /path/to/script.sh ``` 这将在每天的5:00 AM执行/path/to/script.sh脚本,只有当日期为周一时才会执行。 2. 延时任务Linux系统中,我们可以使用at命令来创建延时任务。at命令允许用户在指定的时间运行一次性任务。 使用at命令创建一个延时任务的基本语法格式如下: ``` at TIME <<EOF command1 command2 ... EOF ``` 其中TIME可以是绝对时间或相对时间,也可以使用日期和时间的组合。例如,以下命令将在10分钟后运行命令: ``` at now + 10 minutes <<EOF /path/to/command EOF ``` 此外,也可以使用at命令来指定一个具体的时间运行命令: ``` at 2:00am tomorrow <<EOF /path/to/command EOF ``` 这将在明天的凌晨2点运行命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值