linux自动执行指令crontab和at
目录
1 at和crontab指令
2 batch
一、at与crontab的区别
运行方式不同
at只运行一次,crontab循环运行
依赖的服务不同
at 对应的服务是 atd
crontab 对应的服务是 crond
二、at指令

执行at需要注意:
1 检查用户是否有at的权限
如果系统里存在/etc/at.allow文件,则里面存在的用户名才会有at权限
如果系统里存在/etc/at.deny文件,则里面存在的用户名才会没有at权限(一般开源的系统都是默认给deny文件,且里面为空)
如果系统不存在以上文件,则只有root用户可以用at权限
2 检查atd服务是否已经开启
service atd status
列举常用的一些指令
1 新建一个日程
at 后面+时间单位即可,我一般用now + n minutes ,也可以用标准的时间格式 HH:MM YYYY-MM-DD
at now+时间的方式

注意 <EOT> 是结束的意思,按CTRL+D就结束,----小贴士 CTRL+C是退出
上面的指令意思是1分钟后会在/目录后面加一个testAt文件
结果图

at 时间格式

这里的atq后面会讲到-列出当前正在排队的at日程
2 查看日程
atq 和 at-l 一样都可以查询日程列表

at - c +日程ID可以查询日程详细信息
其实这个信息也在/var/spool/at 目录下可以VI到
如果怀疑中了木马可以去里面查询一下哦,不过木马一般都是循环的,不用at的吧。
3 删除日程
at -d 和atrm 一样都可以删除日程(但是需要配合atq拿到日程ID)


4 另外推荐一个batch指令
batch和at的语法一样,区别在于batch是延后执行,这个指令在CPU负载小于0.8的时候才会运行。
简单来说会等系统不再繁忙的时候才会执行,比较人性化。

三 crontab指令

执行crontab需要注意:(其实和at是一样的)
1 检查用户是否有crontab的权限
如果系统里存在/etc/cron.allow文件,则里面存在的用户名才会有cron权限
如果系统里存在/etc/cron.deny文件,则里面存在的用户名才会没有cron权限(一般开源的系统都是默认给deny文件,且里面为空)
如果系统不存在以上文件,则只有root用户可以用cron权限
2 检查atd服务是否已经开启
service crond status
1 新建一个日程
crontab -e 可以新建一个日程(相当于打开了一个编辑文本)写完任务后:wq保存退出
编辑的语法
6个栏位

4个特殊字符

可以分配多个任务,格式如下

例子1 每分钟在testCron里打印一下日期
1 crontab -e 进入编辑文本
2 输入 0-59 * * * * date>>/testCron
输出结果 :每分钟打印了一次date

例子2 每年元旦那天在testCron里打印一下日期
0 0 1 1 * date>>/testCron
例子3 每3分钟在testCron里打印一下日期
0-59/3 * * * * date>>/testCron
例子4 每小时里的第1-10,和第13分钟在testCron里打印一下日期
0-10,13 * * * * date>>/testCron
以上生成的任务都会写入 /etc/crontab 与 /var/spool/cron里命名为root
2 查看存在的任务
crontab-l

3 修改与删除任务
修改任务的话,crontab -e 即可
删除任务的话,使用 crontab-r

总结
1 cron 会每分钟去读取一次 /etc/crontab 与 /var/spool/cron 里面的数据内容,如果要修改直接VI去编辑即可:

上图的MAILTO可以填写自己的邮箱12312312@qq.com
2 修改完 /etc/crontab 之后,可能并不会马上运行, 这个时候请重新启动 crond 这个服务吧!『/etc/init.d/crond restart』
linux自动执行指令crontab和at的更多相关文章
- linux下的crontab服务
linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...
- Linux提示no crontab for root的解决办法
Linux提示no crontab for root的解决办法 安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/s ...
- 使用php作linux自动执行脚本
使用php作linux自动执行脚本 [来源] 达内 [编辑] 达内 [时间]2013-03-21 在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者 ...
- Linux计划任务Crontab实例详解教程
说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...
- Linux定时任务命令crontab
作为一个php码农,linux接触总是很少,但又是必须会的一项技能,今天学到的linux命令是crontab命令. 注:以下总结基于Ubuntu 12.04 去/etc目录下看看 先去Ubuntu的/ ...
- 使用linux下的crontab定时任务跑定时脚本
使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...
- Linux 下用 crontab 设置定时执行python 程序
Linux 下用 crontab 设置定时执行python 程序 方法/步骤 1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...
- linux定时任务:crontab命令
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查 ...
- Linux中使用Crontab定时监测维护Tomcat应用程序的方法
Linux中使用Crontab定时监测维护Tomcat应用程序的方法 功能需求: 定时监测发布的某项应用程序是否可用,如果不可用,立即执行处理措施,实现自动化运维工作. 监测的应用接口: 新闻接口.天 ...
随机推荐
- JavaScript模块化开发的那些事
模块化开发在编程开发中是一个非常重要的概念,一个优秀的模块化项目的后期维护成本可以大大降低.本文主要介绍了JavaScript模块化开发的那些事,文中通过一个小故事比较直观地阐述了模块化开发的过程. ...
- 一键备份脚本 backup.sh
做网站最重要的是什么?数据!数据,是网站之本,备份,是每一个站长都应该重视的事情.但同时,备份也是一件繁琐和重复的事情.所以,这些事情,肯定能做到自动化的.下面来介绍一下这个一键备份脚本 backup ...
- python_输出100:200内的素数
sushu=[] for i in range(100,201): for j in range(2,i): if i%j==0: break if i==j+1: sushu.append(i) p ...
- Access数据库远程连接的实用方法
一般在远程文件夹开启文件共享即可通过像平常一样用连接字符串访问,注意共享的读写权限. 远程(如通过互联网)连接access数据库的示例: 首先,需要使用TCP/IP,ADO及XML(需要安装Micro ...
- Oracle 优化方式
Oracle的优化器有两种优化方式,即基于规则的优化方式(rule-based optimization 简称RBO)和基于代价的优化方式(cost-based optimization 简称CBO) ...
- JS时间格式和时间戳的相互转换
时间戳转化为日期的方式 ; var newDate = new Date(); newDate.setTime(timestamp * ); // Mon May 28 2018 console.lo ...
- Symmetric Difference-freecodecamp算法题目
Symmetric Difference 1.要求 创建一个函数,接受两个或多个数组,返回所给数组的对等差分(symmetric difference) 例子:给出两个集合 (如集合 A = {1, ...
- Linux下重要日志及查看方式
1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息,如图1所示: 图1 /var/log/boot. ...
- JZOJ 5793. 【NOIP2008模拟】小S练跑步
5793. [NOIP2008模拟]小S练跑步 (File IO): input:run.in output:run.out Time Limits: 2000 ms Memory Limits: ...
- Python9-IO模型-day41
# 进程:启动多个进程,进程之间是由操作系统负责调用# 线程:启动多个线程,真正由被cpu执行的最小单位实际是线程# 开启一个线程,创建一个线程,寄存器.堆栈# 关闭一个线程# 协程# 本质上是一个线 ...