linux结束所有任务命令行,Linux基础命令(15)定时任务

释放双眼,带上耳机,听听看~!

crontad

Linux定时任务Crontab命令详解

linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

Linux crontab是用来定期执行程序的命令。

当安装完成操作系统之后,默认便会启动此任务调度命令。

crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。

而 linux 任务调度的工作主要分为以下两类:

1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存,在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

/etc/crontab文件包括下面几行:

984e43e80d285f06b542f25a20250d8c.png前三行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行 命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户,其他将在后续讲到。

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次

crond服务

安装crontab:

yum install crontabs

服务操作说明:

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载入配置

service crond status //查看服务状态

systemctl enable crond.service//设为开机自启

crontab命令详解

1.命令格式:

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

2.命令功能:

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。

3.命令参数:

-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件(可用于增加定时任务)。

-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

-i:在删除用户的crontab文件时给确认提示。

实例

1.先用crontab -e编辑crond定时任务,增加“* * * * * ls>/root/test/11.txt”指的是每分钟执行一次ls命令,并将输出写入/root/test/11.txt,然后保存退出,用service crond restart重启crond服务让任务即时生效,等一会儿看见多出11.txt文件,cat文件可以看出ls的内容。

d829217f1c1fdf7820f99cea45a6371d.png

4b43e54b8244001ca880d343904f506e.png

41ca071282a8c7653dec5d99a37d0b74.png

2.每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分….执行 echo “haha”

20 0-23/2 * * * echo “haha”

3.下面再看看几个具体的例子:

0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache

50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务

50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务

1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件

00 03 * * 1-5 find /home “*.xxx” -mtime +4 -exec rm {} \; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令

脚本无法执行问题

如果我们使用 crontab 来定时执行脚本,无法执行,但是如果直接通过命令(如:./test.sh)又可以正常执行,这主要是因为无法读取环境变量的原因。

解决方法:

1、所有命令需要写成绝对路径形式,如: /usr/local/bin/docker。

2、在 shell 脚本开头使用以下代码:

#!/bin/sh

. /etc/profile

. ~/.bash_profile

3、在 /etc/crontab 中添加环境变量,在可执行命令之前添加命令 . /etc/profile;/bin/sh,使得好几遍了生效

例如:20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh

at

前言:

at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行作业。atd守护进程会检查系统上的一个特殊目录来获取at命令的提交的作业,默认情况下,atd守护进程每60秒检查一次目录,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。

注意:at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了。

at命令格式

at [选项] [时间]

Ctrl + D  结束at命令的输入

在使用at命令的时候,一定要保证atd进程的启动。

[root@vms002 /]# ps -ef|grep -v grep|grep atd

rpcuser    1550      1  0 6月10 ?       00:00:00 /usr/sbin/rpc.statd –no-notify

root       1552      1  0 6月10 ?       00:00:00 /usr/sbin/atd -f

at命令参数

选项含义

-m当指定的任务被完成后,将给用户发送邮件,即使没有标准输出

-Iatq的别名

-datrm的别名

-v显示任务将被执行的时间

-c打印任务的内容到标准输出

-V显示版本信息

-q 使用指定的队列

-f 从指定文件读入任务而不是从标准输入读入

-t 以时间参数的形式提交要运行的任务

时间定义

at允许使用一套相当复杂的指定时间的方法:

● 能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。 例如:04:00

● 能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。

● 能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 例如:12pm

● 能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 例如:04:00 2009-03-1

● 能够使用相对计时法。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。 例如:now + 5 minutes 04pm + 3 days

● 能够直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。

相关命令

1.at:在特定的时间执行一次性的任务;

2.atq:列出用户的计划任务,如果是超级用户将列出所有用户的任务,结果的输出格式为:作业号、日期、小时、队列和用户名;

3.atrm:根据job number删除at任务;

4.batch:在系统负荷允许的情况下执行at任务,就是在系统空闲的情况下才执行at任务。

创建at任务

创建at任务方式有两种,从文件输入和从控制台输入。以下分别用两种方式创建1分钟后将当前时间写入 home/result 文件的命令

1、从文件输入

02db7eef1fd46b582d789b763c8ce9b3.png

2、从命令行输入

5fcdb4f857759f04d4b40c122689b903.png注意此处的是ctrl+d 按键结束

atq 和 atrm命令

atq查看at定时队列命令,atrm删除某个定时任务命令.

20b29c0a8146383daff5dd0b26586819.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国家开放大学2021春1026西方经济学(本)题目

教育 教育 试卷代号: 1026 2021年春季学期期末统一考试 西方经济学(本) 试题 2021年7月 一、单项选择题(在下列各题的备选答案中选择一个正确的,并将其序号字母填入题后的括号里。每题2分,共30分&#xf…

国家开放大学2021春1127实用卫生统计学题目

教育 教育 试卷代号: 1127 2021年春季学期期末统一考试 实用卫生统计学 试题(开卷) 2021年7月 一、单项选择题(每题2分,共20分) 1.若要通过样本进行统计推断,样本应该是( )。 A.总体中典型的一…

【渝粤题库】广东开放大学 C语言程序设计 形成性考核

选择题 题目:C语言的基本构成单位是: 。 答案: A、函数 B、函数和过程 C、超文本过程 D、子程序 题目:一个 C语言程序总是从 开始执行。 答案: A、主过程 B、主函数 C、主程序 D、子程序 题目:C语言的程序一…

如何修复无效的目标版本:Maven Build中的1.7、1.8、1.9或1.10错误

如果您正在使用Maven构建Java项目,可能是在Eclipse中,或者是通过运行mvn install在命令提示符下构建的,并且构建失败并显示诸如“无效的目标发行版:1.7”或“无效的目标发行版:1.8”之类的错误,那么您来了到…

【渝粤题库】广东开放大学 Linux 形成性考核

选择题 题目:以下描述正确的是? 答案: A、Linux就是批处理系统 B、批处理系统出现早于分时系统 C、Windows是批处理操作系统 D、批处理系统可以同时执行多个任务 题目:以下哪个是移动操作系统? 答案: A、Li…

Linux查看时间段文件,Linux查看特定时间段内修改过的文件

一.Linux系统日志的一些信息,日志配置文件syslog.conf系统日志一般都存在/var/log下常用的系统日志如下:核心启动日志:/var/log/dmesg系统报错日志:/var/log/messages邮件系统日志:/var/log/maillogFTP系统日志:/var/log/xferlog安全信息和系统登录与网络连接的信息…

【渝粤题库】广东开放大学 公共政策学 形成性考核

选择题 题目:公共政策学涵盖了社会学、经济学、政治学、历史学、心理学、人类学、法学和行政学等学科的理论与方法,这体现了公共政策学的()。 答案: A、实践性 B、科学性 C、发展性 D、综合性 题目:&#x…

linux系统四个组成部分,Linux系统由哪几部分组成?系统详解(干货)

原标题:Linux系统由哪几部分组成?系统详解(干货)我们常说的Linux一般指的是系统内核,基于Linux系统内核的操作系统叫Linux发行版操作系统,像redhat、centos、ubuntu和安卓等都是Linux发行版操作系统。Linux一般有4个主要部分&…

【渝粤题库】广东开放大学 发展与教育心理学 形成性考核

选择题 题目:无意义音节的首创者和遗忘曲线的最先提出者是 答案: A、冯特 B、艾宾浩斯 C、巴甫洛夫 D、弗洛伊德 题目:影响心理发展的因素中,下列说法正确的是 答案: A、生理成熟制约着心理发展的顺序和规律 B、环境和…

【渝粤题库】广东开放大学 岭南文化概论 形成性考核

选择题 题目:号称祖先曾是"中原望族”的是( )。 答案: A、雷州人 B、广府人 C、潮汕人 D、客家人 题目:岭南可以成为广东的代名词,是因为( )。 答案: A、岭南全部的…

linux c 多文件编译,Linuxc - 多c文件程序编译执行

多文件使用,一起编译定义max.hint max(int a,int b);定义max.c#include "max.h"int max(int a,int b){if (a > b) {return a;} else {return b;}}定义主c文件#include #include "max.h"int main(){int a1 22;int a2 33;int maxNum max(a1…

Spring Boot微服务,Docker和Kubernetes研讨会–第一部分

在本系列研讨会中,我们将使用spring boot,docker构建一些微服务,然后将它们部署到kubernetes中。 因此,让我们开始吧。 首先,我们需要定义一个问题陈述。 可以说我们要建立一个订单管理系统。 识别域 第一步将是了解…

【渝粤题库】广东开放大学 建筑设备 形成性考核

选择题 题目:对于以防止触电为目的的漏电保护器宜选用( )。(难度系数:易) 答案: A、动作时间0.1秒,动作电流15毫安 B、动作时间0.5.秒,动作电流30毫安 C、动作时间0.1秒&…

linux 信号量锁 内核,Linux内核信号量互斥锁应用

主要介绍了Linux 内核关于信号量,互斥锁等的应用内核同步机制-信号量/互斥锁/读-写信号量 sema ,mutex ,rwsem信号量通用信号量用户类进程之间使用信号量(semaphore)进行同步,内核线程之间也使用了信号量,一个线程完成了某一个动作就通过信号量告诉别的线程&#xf…

【渝粤题库】广东开放大学 标准化法律法规 形成性考核

​选择题 题目:WTO/TBT协议即《技术性贸易壁垒协议》是WTO对缔约国标准化工作的规定,因次也称为( )。 题目:对于违法犯罪行为的制裁和惩罚,体现了法律的( ) 题目:《上海市标准化条例》、《广东省产品质量监督条例》都属…

【渝粤题库】广东开放大学 电算化会计 形成性考核

选择题 题目: 会计作为一个提供( )为主的信息系统,长期以来在企业的经营管理中起着非常重要的作用 题目: 会计作为一个提供( )为主的信息系统,长期以来在企业的经营管理中起着…

stacktraces_Stacktraces告诉了事实。 但事实并非如此。

stacktraces我们公司致力于使软件错误的原因对开发人员和运营透明。 与替代解决方案相反, 我们在您发现源代码中恶意代码的地方指出了问题的所在 。 即使目前我们以检测内存泄漏的能力而闻名,但我们也正在扩展到其他领域。 为了给您一些有关我们研究方向…

【渝粤题库】广东开放大学 营销策划 形成性考核

选择题 题目:宝洁公司旗下的洗发水品牌有飘柔、潘婷、海飞丝等不同的子品牌,这些品牌分别面对不同的细分市场,宝洁公司的细分依据是( )。 题目:在春节、中秋节、情人节等节日即将来临的时候,许多…

Linux搜索无线网络命令,Linux操作系统的无线网络命令

rts:指定RTS/CTS握手方式,使用RTS/CTS握手会增加额外开销,但如果无线网络中有隐藏无线节点或者有很多无线节点时可以提高性能。后面的参数指定一个使用该机制的最小包的大小,如果该值等于最大包大小,则相当于禁止使用该…

【渝粤题库】广东开放大学企业标准化 形成性考核

​👉关注我,看答案👈 选择题 题目:企业标准应当报当地标准化行政主管部门审查。 题目:决策论、规划论、库存论,都是企业质量管理中可以借鉴使用的管理办法。 题目:6σ工程包括6σ改进和6σ策划两种类型。 题…