学习系统延时任务及定时任务

本文详细介绍如何在Linux系统中使用at命令进行延时任务的设置,包括任务的发起、查看、取消,以及如何处理延时任务的输出。此外,还讲解了crond服务的使用,包括定时任务的设定、查看和删除,以及通过配置文件实现系统级别的定时任务管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统延时任务及定时任务

1.延时任务的发起

[root@rhel8 ~]# at 18:47                                ###发起延时
warning: commands will be executed using /bin/sh
at> rm -fr /mnt/westos{1..5}                            ###延时任务
at> <EOT>                                               ###ctrl+d

# at -l                   查看任务列队
# at -c +任务号           查看任务内容
# at -r +任务号           取消任务

2.当延时任务有输出,输出会以邮件的形式发送到任务任务发起者的邮箱中

# dnf install mailx postfix    安装邮箱
# systemctl start postfix      开启邮件传输协议
[root@rhel8 ~]# at 19:24
warning: commands will be executed using /bin/sh
at> timedatectl                                          延时任务
at> <EOT>

 在邮箱中查看延时任务

# mail -u root                     查看root用户的邮箱

3. at命令的控制

# vim /etc/at.deny       at控制黑名单,名单内的人不能执行at命令。(此文件默认不存在)
                         当/etc/at.allow文件存在时/etc/at.deny 文件不生效

# vim /etc/at.allow      当此文件存在在系统中的普通用户不能执行at命令,只有在文件内的用户才可以          

建立/etc/at.deny(/etc/at.allow文件不存在)

建立/etc/at.allow 文件    (此文件存在/etc/at.deny文件不生效)

 

 

2.定时任务

crond             定时任务服务

命令设定方式

# crontab -u root -e           设定
# crontab -u root -l           查看
# crontab -u root -r           删除

 任务存储位置 /var/spool/cron/root

# crontab -u root -e            设定任务

配置文件设定方式:系统级别cron只有超级用户可以操作

/etc/cron.d                        系统级别存放路径

# vim /etc/cron.d/westos      编辑文件

/etc/cron.daily/              每天任务

/etc/cron.hourly/           每小时任务

/etc/cron.monthly/        每月任务

/etc/cron.weekly/          每周任务

在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、付费专栏及课程。

余额充值