linux下的计划任务——只执行一次的定时任务

发布时间 - 2020-11-07 00:00:00    点击率:

定时任务是操作系统提供给我们的一个非常好的功能,我们经常用定时任务来处理一些事情,比如每天定时备份网站数据、每个月执行下数据统计程序、监控服务器的运行情况(发生错误时给管理员发消息通知)等等,这些都需要定时任务来完成。

linux下的定时任务分为两大类:只执行一次的定时任务,周期性执行的定时任务。今天,我们一起来看看只执行一次的定时任务,关于周期性执行的定时任务,将会在接下来的一篇文章中表述。

atd服务

只执行一次的计划任务,我们是通过at命令来完成的,想要执行at命令则需要先开启atd服务。查看atd服务的运行状况及开启atd服务的命令如下:

# 查看atd服务状况
# systemctl status atd 
# 开启atd服务
# systemctl start atd

at权限管理

当使用at来产生新的任务时,该任务就会以文本文件形式被放到/var/spool/at目录下。

# ll /var/spool/at
total 8
-rwx------ 1 root   root   2890 Nov  7 16:30 a0000201981b23  <===== at产生的文件
drwx------ 2 daemon daemon 4096 Nov  7 16:27 spool

对于at的权限管理,系统有两个专门的文件来指定。这两个文件,其实就和我们理解的黑白名单一样。这两个文件分别是/etc/at.deny(黑名单)、/etc/at.allow(白名单)。系统默认的at.deny的内容为空,而对于/etc/at.allow系统默认是不存在的。如果这两个文件都不存在,则只有root用户可以使用at命令。

at命令详解

我们来看看如何使用at这个命令。

设置计划任务

使用at命令设置计划任务 at [-m] 时间,常用的时间格式——HH:MM YYYY-MM-DD,此外还可以使用英文的now +1 minutes类似形式设置。

# at 17:00 2025-11-11
at> date >> /root/at.txt
at>   <=== 这里输入ctrl+d来结束
job 3 at Wed Nov 11 17:00:00 2020

# at now +5 minutes
at> date >> /root/at.txt        
at> 
job 4 at Sat Nov  7 17:01:00 2025

查看计划任务

使用-l选项可查看计划任务,如果想看具体的命令可以使用-c选项。除此之外,还可以使用atq命令来查看。

# at -l
6 Sat Nov  7 17:13:00 2025 a root
3 Wed Nov 11 17:00:00 2025 a root

# atq
6 Sat Nov  7 17:13:00 2025 a root
3 Wed Nov 11 17:00:00 2025 a root

移除计划任务

还未执行的计划任务,可以通过at -d或atrm来删除。

# at -d 3
# atrm 6

使用at来生成计划任务还有一个好处就是,可以完成脱机管理工作。


# linux  # 这两个  # 还可以  # 来看看  # 可以使用  # 来完成  # 就会  # 都不  # 给我们  # 会在  # 可以通过 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  如何快速搭建FTP站点实现文件共享?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel如何与Pusher实现实时通信?(WebSocket示例)  使用Dockerfile构建java web环境  Laravel如何创建自定义中间件?(Middleware代码示例)  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  微信小程序 wx.uploadFile无法上传解决办法  如何在腾讯云免费申请建站?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  php json中文编码为null的解决办法  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  详解Huffman编码算法之Java实现  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  长沙做网站要多少钱,长沙国安网络怎么样?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  如何在腾讯云服务器快速搭建个人网站?  Laravel怎么调用外部API_Laravel Http Client客户端使用  Python进程池调度策略_任务分发说明【指导】  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  JS碰撞运动实现方法详解  Laravel如何自定义分页视图?(Pagination示例)  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  北京网站制作的公司有哪些,北京白云观官方网站?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何配置任务调度?(Cron Job示例)  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  使用C语言编写圣诞表白程序  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  移动端脚本框架Hammer.js  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何挑选高效建站主机与优质域名?  实例解析Array和String方法  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  高性价比服务器租赁——企业级配置与24小时运维服务