linux定时关闭系统at,『学了就忘』Linux系统管理 — 8.系统定时任务(at命令)
定时任务是在服务器上常用到的一个工作。
在你指定的时间,系统会自动执行你指定的程序(脚本或者命令)。
Linxu系统中的定时任务不难,关键是如何写出正确的脚本。
在Linxu系统中,有三种用于任务调度的工具
at命令调用atd服务
crontab命令调用cron(crond)服务。
anacron工具。
(一)只执行一次的定时任务
需使用at命令。
at命令是一次性执行的定时任务。也就是说我在之后什么时间点,执行一次任务。
1、at服务管理
at命令要想正确执行,需要atd服务的支持。
atd服务是独立的服务,所以启动的命令如下:
[root@localhost ~]# service atd start
提示:
只要你的Linux系统是安装的,哪怕是最小化安装,at命令和cron命令默认都是启动的。
我们发现大多数服务最后都有个d,这个d代表Daemon(守护进程)的意思。
# 查看Linux系统中的进程
# 注意:第二行/usr/sbin/atd,才是atd服务。
[root@localhost ~]# ps aux | grep atd
rpcuser 1425 0.0 0.0 23352 1380 ? Ss 06:15 0:00 rpc.statd
root 1881 0.0 0.0 21108 496 ? Ss 06:15 0:00 /usr/sbin/atd
root 3332 0.0 0.0 103332 852 pts/2 S+ 09:29 0:00 grep atd
如果想要让atd服务开机时自动启动,可以设置如下命令:
[root@localhost ~]# chkconfig atd on
2、at命令的访问控制
atd服务启动之后,at命令才可以正常使用,我们还要学习下at命令的访问控制。
这里的访问控制指的是允许哪些用户使用at命令设定定时任务,或者不允许哪些用户使用at命令。
大家可以想象成为设定黑名单或设定白名单,这样更容易理解。at的访问控制是依靠/etc/at.allow文件(白名单)和/etc/at.deny文件(黑名单)这两个文件来实现的。
注:Linux系统中默认是没有/etc/at.allow文件的,用到的时候需要自己手动创建。
具体规则如下:
如果系统中有/etc/at.allow文件,那么只有写入/etc/at.allow文件(白名单)中的用户可以使用at命令,其他用户不能使用at命令(/etc/at.deny文件会被忽略,也就是说同一个用户既写入/etc/at.allow文件,也写入/etc/at.deny文件,那么这个用户是可以使用at命令的,因为/etc/at.allow文件优先级更高。)。
如果系统中没有/etc/at.allow文件,只有/etc/at.deny文件,那么写入/etc/at.deny文件(黑名单)中的用户不能使用at命令,其他用户可以使用at命令。不过这个文件对root用户不生效。
如果系统中这两个文件都不存在,那么只有root用户可以使用at命令。
系统中默认时只有/etc/at.deny文件,而且这个文件是空的,这样的话系统中所有的用户都可以使用at命令。不过如果我们打算控制用户的at命令权限,把用户写入/etc/at.deny文件即可。
/etc/at.allow文件的权限更高,如果/etc/at.allow文件存在,则/etc/at.deny文件失效。
/etc/at.allow管理行为更加严格,因为只有写入这个文件的用户才能使用at命令,如果需要禁用at命令的用户较多,则可以把少数用户写入这个文件。
/etc/at.deny文件的管理较为松散,如果允许使用at命令的用户较多,则可以把禁用的用户写入这个文件。
不过这两个文件都不能对root用户生效。
3、at命令
格式如下:
[root@localhost ~]# at [选项] 时间
选项:
-m:当at命令工作完成后,无论是否命令有输出,都用email通知执行at命令的用户。
-c工作号:显示该at工作的实际内容。
时间:
at支持的时间格式如下:
HH:ММ 在指定的“小时:分钟”执行命令,例如:05:30。
HH:MM YYYY-MM-DD 在指定的“小时:分钟 年-月-日”执行,例如05:30 2020-06-26。
HH:MM[am|pm][month][date] 在指定的“小时:分钟[上午|下午][月][日]“执行,例如05:30 July 25。
HH:MM[amlpm]+[minutes|hours|days|weeks] 在指定的时间“再加多久执行”,
例now + 5 minutes,05am + 2 hours。
at命令只要指定正确的时间,就可以输入需要在指定时间执行的命令了.这个命令可以是系统令,也可以是shell脚本。(也就是说确认命令的执行时间之后,按回车在输入你要执行的命令。)
示例:
# 1.编写一个shell脚本hello.sh
[root@localhost ~]# cat /root/hello. sh
#!/bin/bash
echo "hello world!!!!"
# 2.使用at命令在某个时间点执行该脚本
[root@localhost ~]# at now + 2 minutes
# 回车后,输入需要执行的命令
# 把hello.sh脚本输入的内容,写入指定的文件中
at> /root/hello.sh >> /root/hello.log
# 使用ctrltd 保存at任务
at>
job 1 at 2020-06-25 18:58
# 会提示你,第1个at任务,会在2020年6月25日18:58分执行
# 这个1代表工作号
查询指定的定时任务
# 查询第1个at任务的内容
# 可以看到at执行的任务内容
[root@localhost ~]# at -c 1(工作号)
# 可以看到有很多的内容
# 前面主要是定义系统的环境变量
# 最后面的
/root/hello.sh >>/root/hel1o.1og
提示:我们可以通过下面的atq命令查看到,Linux系统中at任务列表中,你所需要任务的工作号,然后在通过at -c (工作号)命令来查看一个at任务的具体内容。
在一个at任务中执行多个系统命令
# 在指定的时间关机。
[root@localhost ~]# at 02:00 2020-06-26
at> /bin/sync
at> /sbin/shutdown -h now
at>
job 1 at 2020-06-26 02:00
4、其他at管理命令
at还有查询(atq)命令和删除(atrm)命令。
命令如下:
# 1.查询当前服务器上的at工作
[root@localhost ~]# atq
例如:
# 说明:root用户有一个at在务在2020年6月25日的18:58执行,工作号是1
[root@localhost ~]# atq
1 2020-06-25 18:58 a root
# 通过atq命令查看at定时任务,只能看到工作号,执行时间,哪个用户执行
# 但是看不到具体执行的命令是什么,
# 2.删除指定的at在务
[root@localhost ~]# atrm [工作号]
例如:
# 删除1号at任务,然后通过atq命令查询就没有at任务存在了
[root@localhost ~]# atrm 1
5、总结
at命令平时用的并不多,因为at任务只能够执行一次任务。
linux定时关闭系统at,『学了就忘』Linux系统管理 — 8.系统定时任务(at命令)相关推荐
- linux日志服务是哪个,『学了就忘』Linux日志管理 — 2.日志服务rsyslogd
1.日志文件格式 只要是由日志服务rsyslogd记录的日志文件,他们的格式是一样的. 基本日志格式包含以下内容: 事件产生的时间. 发生事件的服务器的主机名. 产生事件的服务名或程序名. 事件的具体 ...
- 『学了就忘』Linux基础 — UNIX系统介绍
在学习Linux系统之前,我们先来了解以下UNIX系统. (一)UNIX系统介绍 在介绍Linux系统之前,我们先来了解以下UNIX系统. 1.UNIX系统发展历史 1965年,美国麻省理工学院(MI ...
- 昆明收银系统:『免费收银软件』到底是馅饼还是陷井?免费背后的危害。
昆明收银系统:『免费收银软件』到底是馅饼还是陷井?免费背后的危害. 如果有人问您:"您最喜欢什么?",你一定答不上来,但是问您:"有免费的东西可拿哦,喜欢吗?" ...
- 『学了就忘系列』Linux基础命令 — 搜索操作相关命令
1.whereis命令 whereis是搜索系统命令的命令,也就是说,whereis命令不能搜索普通文件,而只能搜索系统命令. whereis命令的基本信息如下: 命令名称:whereis 英文原意: ...
- 监管大屏系统_『Udesk数据大屏』独家上线,对客户服务监管一目了然·一览无遗。...
数据大屏是企业沟通与交流的有效途径之一,当前,大屏已经成为一种新型媒体,他可以帮助企业进行品牌宣传.实力展示.商业交流.数据监控等重要的作用.像天猫双11活动中,阿里的双11大屏让人印象深刻,该大屏不 ...
- 比特币官方客户端钱包是用什么语言开发的_『学概念找员外』比特币网络(三)...
「力场 lichang.io」公链挖矿第一社区! 网络大小 比特币网络大小很难测量,因为它随时都在变化,而且没有一个中央权威机构.有些人通过研究给了一些估计:往高说,每个月可能有100万个IP地址成为 ...
- 学了又忘?通俗易懂 Android视图系统的设计与实现!
前言 说到Android视图大家第一反应肯定是Activity以及View,毕竟这是我们从入门开始接触最多的两个组件.但提到Activity和View之间联系以及设计背景可能会难道一大片人.其实关于视 ...
- linux服务器关闭蜂鸣报警,在Windows 10上禁用Linux Bash的蜂鸣声
在Windows 10上禁用Linux Bash的蜂鸣声 在Windows 10上安装Linux Bash非常酷,但就我从微软提供的不太好的终端而言,我将陷入Ubuntu的困境. 无论如何,当你在Ba ...
- linux cron实例,cron,linux定时实施工具详解及实例
cron,linux定时执行工具详解及实例 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动.关 ...
- 【Linux】一步一步学Linux——Linux系统常用快捷键(12) 待更新...
00. 目录 文章目录 00. 目录 01. Gnome下的快捷键 02. 其它 03. 参考 温馨提示:该博客后续更新,敬请关注... 01. Gnome下的快捷键 Alt + F1:类似Windo ...
最新文章
- MapReduce编程实例之自定义分区
- SAP MM PR中的Fixed ID字段与MD04里PR单据号后的星号
- matplotlib 中将图直接从buffer中变为PIL 再到numpy
- TcpClient和TcpListener 类的使用-编写一个点对点聊天工具(初级入门篇)
- linux磁盘混乱,Linux磁盘设备文件混乱源于Linux内核自身
- tourist取模模板
- .NET Core 跨平台 串口通讯 ,Windows/Linux 串口通讯
- 如何通过示例在Java中使用CopyOnWriteArraySet
- [css] 你知道什么是动态伪类吗?
- zabbix通过自动发现功能实现自动识别网络设备接口
- This iPhone is running iOS 12.2(16E227),which may be supported by this version of Xcode
- 恋舞ol服务器维护中,《恋舞OL》更新维护公告
- “企业级零代码黑客马拉松大赛”决赛名单公布
- 使用scrapy爬取豆瓣上面《战狼2》影评
- 微软各产品的生命周期
- jacob实现ppt转图片时存在的问题
- LintCode 1144.范围加法之二
- Nginx源码分析之ngx_hash_t
- switch里面,一开头就放default是什么意思
- 分享113个HTML艺术时尚模板,总有一款适合您