mail、at、crond

本文介绍了Linux中用于一次性任务和周期性任务执行的工具,如at和crontab。at命令允许用户在未来特定时间点执行任务,而crontab则用于设置周期性的定时任务。邮件服务在任务执行结果中起关键作用,如smtp、pop3和imap4等协议用于邮件传输。crontab任务的时间表示法包含星号、离散值、连续值和步长等。使用crontab时,任务结果默认会以邮件形式发送给用户,可以通过重定向避免邮件发送。

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

Linux任务计划、周期性任务执行
未来的某时间点执行一次某任务:at,batch
周期性运行某任务:crontab
执行的结果会通过邮件发送给用户
netstat -tnlp 可以查看是否开启邮件服务的端口
ss -tnl 相同的效果
本地电子邮件服务:
smtp:simple mail transmission Protocol 简单邮件传输协议
pop3:post office Protocol
imap4: internet mail access Protocol
SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。下面分别对其进行简单介绍。
mail 命令:
send and receive Internet mail
MUA:mail user agent 用户收发邮件的工具程序
mail [-s ‘SUBJECT’] nsername [@hostname]
邮件正文的生成:
(1)交互式输入;. 单独成行可以表现正文结束;Ctrl+d提交亦可
(2)通过输入重定向
(3)通过管道;
at命令:
at [OPTION]…TIME
TIME:
精确时间表示法:
在下一个HH:MM时间执行
在YYYY-mm-dd时间执行
模糊时间表示法:
noon:中午
midnight:午夜
teatime:下午茶时间
tomorrow:明早
相对时间表示法
now+#
UNIT:minutes,hours,days,weeks
at命令输入完成以后使用CTRL+d提交
at 的作业有队列,用单个字母表示,默认都是使用a队列
常用选项:
-l:查看作业队列,相当于atq
-f:/path/from/somefile:从指定文件钟读取作业任务,而不用交互式提交
-d:删除指定的作业,相当于atrm
-c:查看指定作业的具体内容
-q queue:指明队列
注意:作业执行结果是以邮件发送给提交作业的用户
batch命令:与at命令使用方式相同;唯一的区别是不能指定执行的时间,会让系统自行选择在系统资源较为空闲的时间去执行指定的任务;
使用at命令执行脚本在使用别的命令时,执行的环境是不同的,最好只用该命令的全路径来写入

周期性任务计划:crontab
服务程序:
cronie:主程序包,提供了crond的守护进程及相关辅助工具;
确保crond守护进程确保为(daemon)处于运行状态
使用systemctl status crond.service查看状态Active:active(running)
cron任务分为两类
系统cron任务:主要用于实现系统自身的维护
cron任务配置需要手动编辑:/etc/crontab
用户cron任务:
配置文件:/var/spool/cron/USERNAME
命令:crontab

时间表示法:
(1)特定值
给定时间点有效取值范围
注意:day of week 和 day of month一般不同时使用
(2)*
给定时间点上有效取值范围内的值;表“每…”
3 * * * * :表示每小时的第三分钟执行一次
(3)离散取值:","
在时间点上使用都好分隔的多个值
#,#,#
(4)连续取值:-
在时间点上使用-连接开头和结束
(5)在指定时间点上,定义步长
/#:#即为步长
指定的时间点不能被步长整除时,其意义将不复存在
最小时间单位为:为分钟
在这里插入图片描述
crontab命令:
-e:编辑任务
-l:列出所有任务
-r:移除所有任务;即删除。/var/spool/cron/USERNAME文件
-i:交互式在使用-r选项移除所有任务时提示用户确认
-u:root用户可为指定用户管理crond用户

注意:运行结果会以邮件通知给当前用户,如果拒绝接收邮件;
(1)COMMAND> /dev/null 将执行结果发送给null就不会发送邮件
定义COMMAND时,如果命令需要用到%,需要对其转移;但是放置于单引号中的%不用转义
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值