目录

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的更多相关文章

  1. linux下的crontab服务

    linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...

  2. Linux提示no crontab for root的解决办法

    Linux提示no crontab for root的解决办法 安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/s ...

  3. 使用php作linux自动执行脚本

    使用php作linux自动执行脚本 [来源] 达内    [编辑] 达内   [时间]2013-03-21 在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者 ...

  4. Linux计划任务Crontab实例详解教程

    说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...

  5. Linux定时任务命令crontab

    作为一个php码农,linux接触总是很少,但又是必须会的一项技能,今天学到的linux命令是crontab命令. 注:以下总结基于Ubuntu 12.04 去/etc目录下看看 先去Ubuntu的/ ...

  6. 使用linux下的crontab定时任务跑定时脚本

    使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...

  7. Linux 下用 crontab 设置定时执行python 程序

    Linux 下用 crontab 设置定时执行python 程序 方法/步骤   1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...

  8. linux定时任务:crontab命令

    crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查 ...

  9. Linux中使用Crontab定时监测维护Tomcat应用程序的方法

    Linux中使用Crontab定时监测维护Tomcat应用程序的方法 功能需求: 定时监测发布的某项应用程序是否可用,如果不可用,立即执行处理措施,实现自动化运维工作. 监测的应用接口: 新闻接口.天 ...

随机推荐

  1. 基于PowerShell的Lync Server管理 使用C#

    这里所说的Lync Server管理,指通过C#管理Lync账号的启用,禁用,开启账户的语音功能. Lync服务器安装后,会自动创建一个用于远程管理的应用程序,通过IIS查看,其应用程序名为: Lyn ...

  2. Redis基础数据结构

    Redis数据库中每个键值对都是由对象( c 的结构体对象)组成的. 数据库键总是一个字符串对象(string object) 数据库键的值可以使字符串对象.列表对象(list object).哈希对 ...

  3. NOIP2018提高组Day2 解题报告

    前言 关于\(NOIP2018\),详见此博客:NOIP2018学军中学游记(11.09~11.11). \(Day2\)的题目和\(Day1\)比起来,真的是难了很多啊. \(T1\):旅行(点此看 ...

  4. ubuntu install oracle jdk

    .Download the required tarball from here .unzip this tarball using "tar -zxvf tarball_name .cre ...

  5. js打印div指定区域内容

    <script> function myPrint(obj){ var newWindow=window.open("打印窗口","_blank") ...

  6. Servlet 学习小结

    一.是什么 是用java编写的服务器端程序.从狭义来讲,servlet是java语言实现的一个接口:广义的servlet是指任何实现了这个servlet接口的类.一般情况下,人们将servlet理解为 ...

  7. getchar输入多行字符,原格式输出(包含换行符)

    #include<stdio.h> int main() { FILE fp; ]; ; char ch; while((ch=getchar())!=EOF){ str[k++]=ch; ...

  8. 洛谷P1481 魔族密码(LIS)

    题意 题目链接 给出一堆字符串,若一个串是另一个串的前缀 ,那么它们可以连接在一起 问最大的链接长度 Sol LIS沙比提其实是做完了才看出是LIS #include<cstdio> #i ...

  9. gitLab 服务器搭建 (自己服务器上搭建gitLab)

    环境 lunix(ubuntu) 1:添加文件 在   /etc/apt/sources.list.d/gitlab-ce.list 中添加一行 deb https://mirrors.tuna.ts ...

  10. CentOS 7 bonding模式双网卡绑定

    1.1    查看系统内核是否支持bonding [root@cobbler-node1 ~]# cat /boot/config-3.10.0-693.el7.x86_64 | grep -i bo ...