概论:任务计划at与cron

任务计划

  • 指定一个未来的某个时间点执行任务有三种方式
  •   at:一次性任务。
  •   cron:周期性任务。

at使用介绍

查看目前状态
  • CentOS 6:service atd status   ##目前启动状态
  • CentOS 6:chkconfig --list atd   ##是否开机启动
  • CentOS 7:systemctl is-enabled atd.service   ##查看是否开机启动
  • CentOS 7:systemctl statemctl atd.service    ##现在是否启动状态
使用方法(交互式命令)

简单示例:

[[email protected] ~]# at 21:35
at> echo 11112222
at> <EOT>
job 2 at 2017-05-03 21:35

查看任务 如果有执行成功不会显示下面的内容 时间不会特别准确 会差一点,(做实验的时候查了十几秒)重启任务也不会丢,因为已经把任务放进了/var/spool/at这个目录下成为可执行文件,任务执行成功文件自动删除。
[[email protected] ~]# at -l
1 #任务编号	2017-05-03 21:40 a root

执行成功会以邮件的方式发送到当前用户,建议把任务中的标准输出扔到/dev/null中,避免造成太多垃圾邮件。

普通用户可以创建at任务,但是默认没有访问任务文件的权限。

普通用户创建at任务后邮件会发送到root用户,自己本身不会收到。wall广播任务是发送到所有用户的。

常用选项 介绍说明 示例
-v 显示版本信息  
-l 列出指定队列中等待运行的作业;相当于atq  
-d 删除指定的作业;相当于atrm at -d #    #代表任务的编号
-c 查看具体作业任务 at -c   #查看作业任务文件
-f /path/from/somefile 从指定的文件中读取任务  
m: 当任务 被完成之后,将给用户发送邮件,即使没有标准输出 at -m 14:34
黑名单白名单
  • 一个用户如果即在白名单(at.allow)又在黑名单(at.deny)是可以执行的。
  • 一个用户即不在at.allow又不在at.deny是不可以执行的。
  • 如果at.allow文件不存在,只要不在at.deny文件中就可以使用at。
  • 如果at.allow文件存在,只有此文件中的用户可使用at。证明at.allow优先级高。
  • 两个文件如果都不存在默认全部拒绝(root除外)。

cron介绍 周期性任务

cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。

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

常用选项 介绍说明 示例
-l 列出所有任务   crontab  -l  
-e 编辑任务  
-r 移除所有任务  
-i 同-r 一同使用,以交互式模式移除指定任务  
-u user 仅root 可运行,指定用户管理cron  
查看目前状态
  • CentOS 7: systemctl status crond ##查看目前状态
  • CentOS 6: service crond status ##查看目前状态
/etc/crontab是系统任务的配置文件,对于cron任务来说,%有特殊用途,如果需要用则需要转义,将%放置于单引号中,则可不用转义,对于比较麻烦的命令推荐直接调用脚本。
vim /etc/crontab

SHELL=/bin/bash  ##默认shell
PATH=/sbin:/bin:/usr/sbin:/usr/bin    ##PATH变量 如果需要在任务里面添加脚本需要写绝对路径
MAILTO=root   ##邮件需要给谁发

# For details see man 4 crontabs  ##有关细节,请查看man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
 分 时 日 月 周 用户          命令|脚本
@yearly root touch /app/reboot.log   ##示例 每个月一号root用户新建一个文件

1、*:代表分钟 支持格式1-5 每分钟执行一次,1,3,5 在一分钟、三分钟、五分钟的时候各执行一次,*每分钟执行一次。1-3,5-9 一至三分钟每分钟执行一次,五到九分钟每分钟执行一次。

2、*:代表小时,支持格式同分钟一样。

3、*:代表日期,支持格式同分钟一样。

4、*:代表月份,支持英文,支持格式同分钟一样。

5、*:代表周几,支持格式同分钟一样

如果时间冲突,比如每个月的一号不可能都是周一,遇到这种情况是每周一或者每个月的一号都执行。

特定的时间格式  可以使用格式代替输入时间

@reboot Run once after reboot.

@yearly 0 0 1 1 *

@annually 0 0 1 1 *

@monthly 0 0 1 * *

@weekly 0 0 * * 0

@daily 0 0 * * *

@hourly 0 * * * *

时间: 2024-10-10 23:54:02

概论:任务计划at与cron的相关文章

周期性计划(一个cron守护进程):

周期性计划(一个cron守护进程): [email protected]:/etc# ps -ef | grep cron root 903 1 0 16:25 ? 00:00:00 /usr/sbin/cron -f root 16162 6459 0 22:08 pts/1 00:00:00 grep --color=auto cron cron是一个可以根据时间,日期,月份,星期的组合的周期性执行的守护进程. (可以停掉和重启) [email protected]:/etc# servic

Linux上的计划at和cron

at命令 使用之前确认atd服务已经启动 [[email protected] tmp]# ps -ef | grep atd root     35241     1  0 16:15 ?        00:00:00 /usr/sbin/atd [[email protected] tmp]# /etc/init.d/atd status    #运行状态查看 atd (pid  35241) is running... 启动命令 [[email protected] tmp]# /etc

linux周期性任务计划 at及cron的简单总结

一次性任务计划:at,batch 周期性任务计划:cron at:简单用法 at TIME at> 提交任务:^c+d 作业结果:以邮件形式发送系统上的当前用户 邮件收发: 服务启动与否状态查看命令: netstat -tnl |grep ":25" 默认收发邮件仅在本机上的用户间进行,且只能通过回环接口上的地址进行. # mail q:退出 N:查看第N封邮件 发邮件给指定用户(系统内): # mail USERNAME[@HOSTNAME] -s "SUBJECT&

Linux 中怎么设置计划任务:cron 与 anacron

导读 在本篇中,我们会解释 cron 和 anacron,并向你展示如何在 Linux 中设置 anacron.我们也会比较这两个工具. cron 在 Linux 设置 cron - 是一个用于运行计划任务如系统备份.更新等的守护进程.它适合在那些 24X7 不间断运行的机器如服务器上运行的计划任务. 命令/脚本被写在 cron 任务脚本中,它是在crontab 文件中被安排的.系统默认的 cromtab 文件是/etc/crontab ,但是每个用户也可以创建自己的 cromtab 文件来在特

Linux 任务计划 at,cron

linux上的任务计划: 一种是突发性的,就是未来某个时间点一次性执行某任务 相关命令:at , batch 一种是周期性的,就是每个一定的周期执行某任务 相关命令:crontab at 命令:处理仅需要执行一次就结束的任务 at 命令的执行必须要有atd服务的支持,启动atd服务. 注意:centos7 中对于服务的配置有变化,以下命令仅适用7之前版本,这部分正在查资料,很快补充说明. #开启atd服务 [[email protected] ~]# /etc/init.d/atd restar

linux计划任务之cron

目录 cron计划任务之用户级 cron计划任务之用户级 1.安装crond centos7 执行命令: # yum install -y crontabs /bin/systemctl restart crond.service #重启服务 /bin/systemctl status crond.service #查看crontab服务状态 2.crond进程每分钟会处理一次计划任务 ,存储位置在 /var/spool/cron/ 3.管理方式 crontab -l 列出当前用户的计划任务 c

软件工程概论——读书计划

读书,我印象里自由自在的悠闲事. 某个下午的阳台上,一杯浓茶,靠在椅子上,捧起那本书. 事实上,我寒假确实是这么做的. 也许场景没那么浪漫,也许茶没那么好喝,也许书,是我感兴趣的. 回到学校,继续着王小波流露的时代. 个人不喜欢电子书,尤其是对着TN屏TFT亦或是IPS之类的.所以,电脑也是少用的. 好了,下面谈正事. 寒假用了3天看完<人月神话>,阐述真理的,说不上多深的感触.让我们看清和明白自己的工作而已. 计划,看这三本吧. <用户故事与敏捷方法> <人性化软件开发&g

centos7—计划任务(at、cron)

centos7—计划任务(at.cron) 2018-08-08 14:33:17 coisini_覔 阅读数 3751更多 分类专栏: Linux基础 crond/at 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_34889607/article/details/78635141 计划任务:让计算机在指定的时间执行指定的事情1.分类:一次性计划任务:at(临时的计划任务)   

Linux进程与计划任务

Linux进程与计划任务 linux进程及作业管理 进程 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等特权操作模式切换(理想状态):70%CPU时间用户模式+30%CPU时间内核模式进程(Process):是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的存在生命周期的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述