当前位置: 首页 > news >正文

了解linux计划任务

本章主要介绍如何创建计划任务
  • 使用 at 创建计划任务
  • 使用 crontab 创建计划任务
有时需要在某个指定的时间执行一个操作,此时就要使用计划任务了。计划任务有两种:
一个是at计划任务,另一个是 crontab计划任务。
下面我们分别来看这两种计划任务的使用方法。
21.1 at
at计划任务是一次性的,到了指定的时间点就开始执行指定的命令,执行完成之后,不会
重复执行这个命令。
首先查看系统中是否存在at计划任务,命令是atq或at -1(字母1),命令如下。
[root@pp ~]# atq
[root@pp ~]# at -l
[root@pp ~]# 

这两个命令都没有任何输出,说明当前系统中并不存在任何计划任务。下面开始创建at计 划任务,at的用法如下。

1 at 时间点 <按【Enter】键>
2 > 输入要执行的命令
3 Ctrl+D 提交
例如,要在2025年12月12日执行hostname命令,命令如下。
[root@pp ~]# at 2025-12-12
warning: commands will be executed using /bin/sh
at> hostname
at> <EOT>
job 1 at Fri Dec 12 00:35:00 2025
[root@pp ~]# 
这里只是指定了日期,并没有指定在2025年12月12日的几点执行。那么,创建这个计划
任务时是几点几分,例如,这里是在19点11分创建的at计划任务,那么到了2025年12月12
日的19点11分就要自动执行hostname命令了。
如果要指定某个时间点,格式如下。
1 at 时间 日期 <按【Enter】键>
2 > 输入要执行的命令
3 Ctrl+D 提交
注意
(1)这里是24小时制的,所以10:00指的是上午10点,如果想指定下午10点,则要写成22:00。
(2)写时间最多只能精确到分,不能精确到秒。
这里上午用am表示,下午用pm表示。例如,要在2025年12月12日下午10点执行
hostname命令,命令如下。
[root@pp ~]# at 10pm 2025-12-12
warning: commands will be executed using /bin/sh
at> hostname
at> <EOT>
job 2 at Fri Dec 12 22:00:00 2025
[root@pp ~]# 
at也支持某天之后的某个时间点运行一个命令。例如,要在3天之后的下午4点执行,
hostname命令,命令如下。
[root@pp ~]# at 4pm + 3days
warning: commands will be executed using /bin/sh
at> hostname
at> <EOT>
job 3 at Mon Dec 11 16:00:00 2023
[root@pp ~]# 
这里“+”两边有没有空格都可以,days可以换成weeks,表示3周之后的下午4点。
用关键字tomorrow,如果使用关键字tomorrow,则不需要加“+”,命令如下。
[root@pp ~]# at 4pm tomorrow
warning: commands will be executed using /bin/sh
at> hostname
at> <EOT>
job 4 at Sat Dec  9 16:00:00 2023
[root@pp ~]# 
上面的两条命令都是表示第二天的下午4点执行hostname命令。

如果要表示几分钟或几小时之后,可以用关键字now。例如,要在2小时之后执行
hostname命令,命令如下。
[root@pp ~]# at now+2hours
warning: commands will be executed using /bin/sh
at> hostname
at> <EOT>
job 5 at Fri Dec  8 02:40:00 2023
[root@pp ~]# 

21.2 crontab

at计划任务是一次性的,执行完成就结束,不会重复执行。如果想定期执行某个任务,例
如,每周日凌晨2点执行一个命令,这时就要用到crontab了。
查看当前用户是否有 crontab计划任务,可以用crontab-1命令。如果要查看其他用户是
否有crontab计划任务,可以用“crontab -1-u用户名”命令,不过-u选项只有root才能
用。
步骤①:使用root用户查看自己有没有crontab计划任务,命令如下。
[root@pp ~]# crontab -l
no crontab for root
[root@pp ~]# 
步骤②:使用root用户查看iu用户是否有crontab计划任务,命令如下。
[root@pp ~]# crontab -l -u iu
no crontab for iu
[root@pp ~]# 
创建crontab计划任务的命令是crontab -e,如果为其他用户创建crontab计划任务,则
用“crontab -e -u用户名”命令。当使用crontab-e命令时,会打开一个临时文件,用与
vim 一样的语法来编辑此文件即可。先按【i】键进入插入模式,编辑完成之后,按【Esc】
键退回到命令模式,在末行模式中输入“wq”保存退出。在此文件中凡是以“#”开头的,都
是注释行。
crontab定义计划任务的语法如下。
1 分 时 天 月 周 命令
注意
因为在crontab中使用的并非系统的PATH变量,所以此处语法中要执行的命令最好能加上路径,
例如,要执行ifconfig命令,则写作/sbin/ifconfig;要执行hostname命令,则写作
bin/hostname。命令的路径可以通过which命令来查询。

几个时间单位的意义如下。
(1)分:几点几分的分。
(2)时:几点,24小时制。
(3)天:几号。
(4)月:几月份。
(5)周:星期几。
这几个时间单位可以用空格,也可以用【Tab】键来分隔。
如果不考虑某个时间单位,例如,不管今天是几号,只要不是周末我们就上班,不考
虑“天”的情况下,那么可以用*表示。
这里每个时间点都可以写多个值,用英文逗号“,”隔开,例如,在分的位置写“0,1.,5,10",
表示0分、1分、5分、10分。
也可以用横杠“-”表示“到”的意思,例如,在分的位置写“0-10”,表示0到10分。
这里“0-10”的完整写法是“0-10/1”,表示从0分到10分的每一分钟,从0开始每次增
加1,然后到10。如果表示“每N分钟”,则写成“0-10/N”,例如,0到10中每2分钟,则
写成“0-10/2”,表示0分、2分、4分、6分、8分、10分。
练习1:每天上午7点整执行hostname命令,如果写成如下命令。
1 # 分 时 天 月 周
2 * 7 * * * hostname
这种写法是不对的,第一个位置是分,这里写成了*,表示7点的每一分,包括0分、1
分……但是所谓7点整的意思是7点0分,所以要写成如下命令。
练习2:每周一到周五的上午7点整执行hostname命令,命令如下。
1 # 分 时 天 月 周
2 0 7 * * 1,2,3,4,5 hostname
现在最终的crontab计划任务内容如下。
[root@pp ~]# crontab -l
0 7 * * * hostname
0 7 * * 1,2,3,4,5 hostname[root@pp ~]
如果要编辑 crontab计划任务,通过crontab -e来重新编辑;如果要删除,执行 crontab -
r命令即可
普通用户也是可以创建crontab计划任务的,如果不想让这个用户创建crontab计划任务,
则把这个用户写入/etc/cron.deny中即可,一行一个用户。这个文件默认为空,命令如下。
[root@pp ~]# cat /etc/cron.deny 
[root@pp ~]# 
如果不希望iu用户创建crontab计划任务,则把tom用户写入这个文件中,命令如下。
[root@pp ~]# echo iu > /etc/cron.deny 
[root@pp ~]# cat /etc/cron.deny 
iu
[root@pp ~]# 
如果又想让 tom用户可以创建crontab计划任务,有以下两种方法。
(1)把tom用户从/etc/cron.deny 中删除,这种方法大家自行练习。
(2)创建/etc/cron.allow,这个文件默认不存在,把tom用户名写到此文件中,命令如
下。
[root@pp ~]# echo > /etc/cron.allow
[root@pp ~]# 
现在tom既出现在/etc/cron.allow中,又出现在/etc/cron.deny中
在第二个标签中用tom登录,crontab计划任务是能够创建的。
系统中也自带一些crontab计划任务,在/etc 中存在几个以cron开头的目录,命令如下。
[root@pp ~]# ls /etc/cron*
/etc/cron.allow  /etc/cron.deny  /etc/crontab/etc/cron.d:
0hourly  raid-check/etc/cron.daily:
logrotate/etc/cron.hourly:
0anacron/etc/cron.monthly:/etc/cron.weekly:
[root@pp ~]# 
每天都会执行一次/etc/crondaily中的脚本,每小时都会执行一次/etc/cron.hourly中的
脚本,每月都会执行一次/etc/cron.monthly中的脚本,每周都会执行一
次/etc/cron.weekly中的脚本。

相关文章:

了解linux计划任务

本章主要介绍如何创建计划任务 使用 at 创建计划任务 使用 crontab 创建计划任务 有时需要在某个指定的时间执行一个操作&#xff0c;此时就要使用计划任务了。计划任务有两种&#xff1a; 一个是at计划任务&#xff0c;另一个是 crontab计划任务。 下面我们分别来看这两种计…...

等待和通知

引入 由于线程是抢占式执行的,因此线程之间的执行的先后顺序难以预知 但是实际开发中我们希望合理协调多个线程之间执行的先后顺序. 这里的干预线程先后顺序,并不是影响系统的调度策略(内核里调度线程,仍然是无序调度). 就是相当于在应用程序代码中,让后执行的线程主动放弃被…...

vscode 如何将正则匹配到的字符前批量加字符

最近想用vscode将正则匹配到的东西签名批量https&#xff0c;替换时可以用$1来替换正则匹配到的字符串&#xff0c;如下所示...

上个月暴涨34.6%后,SoundHound AI股票现在还能买入吗?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 揭开SoundHound AI股价波动的原因 S&P Global Market Intelligence的数据显示&#xff0c;在摆脱了10月份的大幅下跌后&#xff0c;SoundHound AI的股价在11月份实现了34.6%的涨幅。 原因是该公司公布了稳健的第三季…...

Termux+Hexo结合内网穿透轻松实现安卓手机搭建博客网站发布公网访问

文章目录 前言 1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址 前言 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章&#xff0c;在几秒内&#xff0c;即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并结合…...

程序员的养生指南(生命诚可贵,一人永流传!珍惜生命,从你我做起)

作为程序员&#xff0c;我们经常需要长时间坐在电脑前工作&#xff0c;这对我们的身体健康造成了很大的影响。为了保持健康&#xff0c;我们需要采取一些养生措施来延寿。下面是我个人的一些养生经验和建议&#xff0c;希望能对大家有所帮助。 1、合理安排工作时间&#xff1a;…...

FP独立站怎么搭建?看这一篇就够了!强烈建议收藏!

在2023疫情结束年&#xff0c;商家为了在跨境电商市场上获取更多的份额&#xff0c;FP建站需求大军席卷而来&#xff0c;越来越多的创业者和企业开始涉足跨境电商独立站领域&#xff0c;尤其是FP独立站&#xff0c;FP商家想要通过FP独立站、FP广告投放&#xff0c;FP支付&#…...

【华为OD题库-068】找出经过特定点的路径长度-java

题目 输入一个字符串&#xff0c;都是以大写字母组成&#xff0c;每个相邻的距离是1&#xff0c;第二行输入一个字符串&#xff0c;表示必过的点。 说明 每个点可过多次。求解经过这些必过点的最小距离是多少? 示例1 输入输出示例仅供调试&#xff0c;后台判题数据一般不包含示…...

高性能队列框架-Disruptor使用、Netty结合Disruptor大幅提高数据处理性能

高性能队列框架-Disruptor 首先介绍一下 Disruptor 框架&#xff0c;Disruptor是一个通用解决方案&#xff0c;用于解决并发编程中的难题&#xff08;低延迟与高吞吐量&#xff09;&#xff0c;Disruptor 在高并发场景下性能表现很好&#xff0c;如果有这方面需要&#xff0c;…...

Linux学习笔记3 xshell(lnmp)

xshell能连接虚拟机的前提是真机能够ping通虚拟机网址 装OpenSSL依赖文件 [rootlocalhost nginx-1.12.2]# yum -y install openssl pcre-devel 依赖检测[rootlocalhost nginx-1.12.2]# ./configure [rootlocalhost nginx-1.12.2]# yum -y install zlib [rootlocalhost n…...

分享几个可以免费使用GPT工具

1. 国产可以使用GPT3.5和4.0的网站&#xff0c;每日有免费的使用额度&#xff0c;响应速度&#xff0c;注册时不用使用手机号&#xff0c;等个人信息&#xff0c;注重用户隐私&#xff0c;好评&#xff01; 一个好用的ChatGPT系统 &#xff0c;可以免费使用3.5 和 4.0https://…...

一篇文章带你快速入门 Nuxt.js 服务端渲染

1. Nuxt.js 概述 1.1 我们一起做过的SPA SPA&#xff08;single page web application&#xff09;单页 Web 应用&#xff0c;Web 不再是一张张页面&#xff0c;而是一个整体的应用&#xff0c;一个由路由系统、数据系统、页面&#xff08;组件&#xff09;系统等等&#xff0…...

导入JDBC元数据到Apache Atlas

前言 前期实现了导入MySQL元数据到Apache Atlas, 由于是初步版本&#xff0c;且功能参照Atlas Hive Hook&#xff0c;实现的不够完美 本期对功能进行改进&#xff0c;实现了导入多种关系型数据库元数据到Apache Atlas 数据库schema与catalog 按照SQL标准的解释&#xff0c;…...

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈&#xff1a;大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据爬虫、机器学…...

[网鼎杯 2020 朱雀组]phpweb1

提示 call_user_func()函数先通过php内置函数来进行代码审计绕过system&#xff08;##不止一种方法&#xff09; 拿到题目养成一个好的习惯先抓个包 从抓到的包以及它首页的报错来看&#xff0c;这里死活会post传输两个参数func以及p func传输函数&#xff0c;而p则是传输参数的…...

深度学习之注意力机制

注意力机制与外部记忆 注意力机制与记忆增强网络是相辅相成的&#xff0c;神经网络去从内存中或者外部记忆中选出与当前输入相关的内容时需要注意力机制&#xff0c;而在注意力机制的很多应用场景中&#xff0c;我们的外部信息也可以看作是一个外部的记忆 这是一个阅读理解任务…...

WordPress:解决xmlrpc.php被扫描爆破的风险

使用WordPress的朋友都知道&#xff0c;一些【垃圾渣渣】会利用xmlrpc.php文件来进行攻击&#xff0c;绕过WP后台错误登录次数限制进行爆破。虽然密码复杂的极难爆破&#xff0c;但及其占用服务器资源。 方法一、利用宝塔防火墙&#xff08;收费版&#xff09; 一般可以直接使…...

Fiddler抓包模拟器(雷电模拟器)

Fiddler设置 List item 打开fiddler,的options 点击OK,重启fiddler 模拟器 更改网络设置 IP可以在电脑上终端上查看 然后在模拟器浏览器中输入IP:端口 安装证书...

RepidJson将内容写入文件

使用 RapidJSON 将内容写入文件的步骤如下&#xff1a; 创建一个 rapidjson::Document 对象&#xff0c;将需要写入文件的内容存储到其中。创建一个 rapidjson::StringBuffer 对象来保存 JSON 字符串。将 rapidjson::Document 对象转换为 JSON 字符串&#xff0c;并将其放入 r…...

Endnote使用教程

原由 最近要进行开题报告&#xff0c;要求不低于60文献的阅读与引用&#xff0c;单独插入引入我觉得是非常繁琐的事情&#xff0c;所以就借助Endnote这个工具&#xff0c;减少我们的工作量。 使用方法 第一步&#xff1a;先新建一个数据库&#xff0c;这样子可以在这个数据库…...

AI专著撰写秘籍!AI专著生成工具助力,3天完成20万字专著写作!

撰写学术专著时&#xff0c;研究者必须在“内容的深度”和“覆盖的广度”之间找到一个合适的平衡点&#xff0c;这往往是很多学者面临的挑战。从深度来看&#xff0c;AI专著写作要确保核心观点具备充足的学术基础&#xff0c;不仅要清楚地回答“是什么”&#xff0c;还要深入探…...

别再只会用digitalWrite了!用Arduino UNO的PWM引脚玩转RGB呼吸灯(附完整代码)

Arduino PWM实战&#xff1a;从呼吸灯到RGB色彩控制的深度探索 引言&#xff1a;为什么我们需要PWM&#xff1f; 想象一下&#xff0c;你第一次接触Arduino时&#xff0c;可能从最简单的Blink程序开始——让LED灯以固定频率闪烁。这种简单的开关控制能满足基础需求&#xff0c;…...

终极指南:如何用免费软件完全掌控Windows电脑风扇噪音与散热平衡

终极指南&#xff1a;如何用免费软件完全掌控Windows电脑风扇噪音与散热平衡 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_T…...

repomix:智能代码库混合工具,为AI编程与项目分析提供结构化输入

1. 项目概述&#xff1a;当代码库成为“黑盒”&#xff0c;我们需要一把钥匙 在软件开发的日常中&#xff0c;我们常常会面对一个既熟悉又头疼的场景&#xff1a;接手一个全新的、或者许久未碰的代码仓库。面对动辄几十上百个文件、错综复杂的目录结构&#xff0c;以及那些命名…...

MCP协议实战:为AI智能体构建标准化地址查询工具

1. 项目概述与核心价值最近在折腾AI应用开发&#xff0c;特别是想给大语言模型&#xff08;LLM&#xff09;装上“手”和“眼睛”&#xff0c;让它能主动去操作外部系统、查询实时数据。在这个过程中&#xff0c;一个绕不开的概念就是“工具调用”&#xff08;Tool Calling&…...

问卷星 vs 腾讯问卷 vs 金数据:2026主流问卷工具AI开放能力最新横评

作为问卷调研行业的深度观察者&#xff0c;老N近期注意到调研工具链正在发生一场静悄悄的革命。最近&#xff0c;问卷星正式上线了AI工具包&#xff08;wjx-ai-kit&#xff09;&#xff0c;其CLI&#xff08;命令行工具&#xff09;支持多达67个子命令&#xff0c;并适配了Clau…...

Flowable工作流实战:手把手教你安全删除运行中的任务(附完整SQL与避坑指南)

Flowable工作流实战&#xff1a;安全删除运行中任务的完整指南 在业务流程管理系统中&#xff0c;Flowable作为一款轻量级的工作流引擎&#xff0c;因其高效的流程执行能力和灵活的扩展性而广受开发者青睐。然而在实际开发过程中&#xff0c;我们难免会遇到需要强制删除运行中任…...

告别在线安装卡顿:手把手教你离线部署Vitis 2021.2到Ubuntu 20.04(含77G包处理技巧)

高效离线部署Vitis 2021.2&#xff1a;Ubuntu 20.04全流程实战指南 对于从事FPGA开发的工程师而言&#xff0c;稳定可靠的开发环境搭建是项目成功的第一步。当网络条件受限或需要批量部署时&#xff0c;离线安装方式往往成为刚需。本文将深入解析如何在Ubuntu 20.04系统上完成V…...

Anthropic 百万行代码库的官方最佳实践

随着AI 编程智能体的越来越深入到日常工作&#xff0c;相信你也遇到了大型项目和和小型代码库完全不同的场景。正好最近也是在做大型项目的重构开发&#xff0c;刷到这篇来自 Anthropic 官方的文章。系统梳理了 Claude Code 在大规模代码库中的运作机制、Harness 架构的七个扩展…...

DIY智能烛光发饰:用导电缝纫线制作可穿戴电子入门项目

1. 项目概述&#xff1a;当传统手工艺遇上智能微光几年前&#xff0c;我开始接触可穿戴电子&#xff0c;最初的想法很简单&#xff1a;让日常穿戴的物件不只是静态的装饰&#xff0c;而是能与人产生动态交互的“伙伴”。从在衣服上缝几个会亮的LED&#xff0c;到尝试集成传感器…...