Linux自动执行任务

2018.01.04 10:19:45字数 74阅读 142

单次执行用at和batch,周期性任务执行用crontab。任务执行结束后会将结果返回给发起人,通过邮件完成的。
邮件位于:/var/spool/mail/user_name

单次执行任务:at,batch

at

at [OPTION]...TIME

    TIME表示方法:
HH:MM[YYYY-mm-dd]
noon(中午十二点),midnight(晚上十二点),teatime(下午四点)
tomorrow
now+#
UNIT:minutes,hours,days,weeks
at的作业有队列,用单个字母表示,默认都使用a队列; -l: 查看作业队列,相当于atq
-f /path/to/somefile:从指定文件中读取作业任务,而不用交互式输入
-d:删除指定作业,等于atrm
-c:查看指定作业的具体内容
-q QUEUE:指明队列 注意:作业执行结果会发送邮件给用户;
注意:at可以执行脚本,但是执行的工作目录可能不一样,所以脚本中的路径最好用绝对路径表示;

batch:

batch会让系统负载水平允许的时候执行任务;
各个细节和at一样

周期性任务:cron

服务程序:
cronie:主程序包,提供了crond守护进程及相关辅助工具;
确保crond守护进程(daemon)处于运行状态;
CentOS 7:
systemctl status crond.service
Active:atcive (running)......
CentOS 6:
service crond status
...is running
向crond提交作业的方式不同于at,需要专用的配置文件,此文件有固定格式,不建议使用文本编辑器直接编辑此文件;而使用crontab命令: 对于系统cron配置的格式:/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root # For details see 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
注意:
1.每行定义一个周期任务,有七个字段,各字段之间用空格进行分割:
* * * * * :指定周期性时间(5)
user-name :指定执行用户(1)
command to be executed:要执行的任务(1)
2.此处的环境变量不同于用户登录的环境变量,所以命令用绝对路径(whereis 查看命令绝对路径),或者自定义环境变量;
3.执行结果通过邮件发送给MAILTO指定的用户
用户cron的配置:/var/spool/cron/USER_NAME
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root # For details see 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
# | | | | |
# * * * * * command to be executed
注意:
1.每行定义一个cron任务,共6个字符;
2.使用绝对路径或者自定义环境变量
3.邮件放给当前用户 时间表示:
1.特定值:
给定时间点有效取值范围内的值
day of week和day of mouth一般不同时使用;
2. * :给定时间点上有效取值范围内的所有值;
3.离散取值表示:用逗号隔开
4.连续时间:用 - 表示,#-#
5.在指定的时间点上,定义步长: /#:#即步长: */3 * * * *:每三分钟执行一次
注意:
1.指定的时间点不能被步长整除时,其意义将不复存在;
2.cron最小单位为分钟,想完成 秒 的任务,需要用其他机制

Linux自动执行任务的更多相关文章

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

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

  2. linux系统自动执行任务(转)

    开机启动 开机启动应该是我们很经常的需求了,我们常需要在开机时就自动执行某些命令来开启服务,进程等,有了它我们不必再在每次开机时输入同一堆命令. chkconfig命令 使用chkconfig命令可以 ...

  3. centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课

    centos shell编程4[分发系统] 服务器标准化  mkpasswd 生成密码的工具  expect讲解   expect传递参数   expect自动同步文件  expect指定host和要 ...

  4. Linux中的定时自动执行功能(at,crontab)

    Linux中的定时自动执行功能(at,crontab) 概念 在Linux系统中,提供了两种提前对工作进行安排的方式 at 只执行一次 crontab 周期性重复执行 通过对这两个工具的应用可以让我们 ...

  5. php 执行计划任务方式之 linux crontab 执行命令

    一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动c ...

  6. linux定时执行任务crontab命令用法

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

  7. linux定时执行任务

    (1)Linux下如何定时执行php脚本?(2)Linux下如何设置定时任务?(3)Crontab定时执行程序 核心提示:键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一 ...

  8. linux - 自动删除n天前日志

    1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -m ...

  9. linux定时执行任务 转

    转自:http://www.cnblogs.com/thinksasa/archive/2013/06/06/3121030.html linux定时执行任务   (1)Linux下如何定时执行php ...

随机推荐

  1. [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.4 稳定性

    9.4 稳定性 众所周知的是,增加反馈回路可能会导致原本稳定的系统变得不稳定.尽管原变换器传递函数(式(9.1))以及环路增益\(T(s)\)不包含右半平面极点,但式(9.4)的闭环传递函数仍然可能存 ...

  2. 201871010203-陈鹏昱 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 学习软件工程的理论和知识,掌握软件开发流程,增强实践能力 这个作业在哪些方面帮助我实现学习目标 体验软件项目开发中 ...

  3. OO电梯系列优化分享

    目录 前言 HW5 HW6 第二次作业uml协作图 HW7 第三次作业uml协作图 前言 本单元作业在优化方面确实有一些想法值得分享,故单开一篇博客分享一下三次作业的优化以及架构. 三次作业的共同之处 ...

  4. 两种纯CSS方式实现hover图片pop-out弹出效果

    实现原理 主要图形的组成元素由背景和前景图两个元素,以下示例代码中,背景元素使用伪元素 figure::before 表示, 前景元素使用 figure img 表示,当鼠标 hover 悬浮至 fi ...

  5. 目标检测性能评价——关于mAP计算的思考

    1. 基本要求 从直观理解,一个目标检测网络性能好,主要有以下表现: 把画面中的目标都检测到--漏检少 背景不被检测为目标--误检少 目标类别符合实际--分类准 目标框与物体的边缘贴合度高-- 定位准 ...

  6. Python面向对象的高级编程

    数据封装.继承和多态只是面向对象程序设计中最基础的3个概念.在Python中,面向对象还有很多高级特性,允许我们写出非常强大的功能. 我们会讨论多重继承.定制类.元类等概念. 使用__slots__ ...

  7. Linux入门之基本的概念、安装和操作

    目录 Linux基本概念 Linux的安装 虚拟机安装CentOS7 CentOS设置网络 Linux基本操作命令 文件目录操作命令 进程操作命令 文本操作命令 Linux权限操作 用户和组操作命令 ...

  8. 做个开源博客学习Vite2 + Vue3 (一)搭建项目

    前言 不会 webpack,遇到报错就一头雾水,完全不知道怎么办,而且体积还大速度还慢. 所以尤雨溪做了 vite 后就很向往,只是知道自己水平有限还是等大佬先趟趟坑,等差不多了在跳. 现在vite2 ...

  9. Python学习从入门到放弃?我不允许!!!

    嗨,大家好 这里是汐仔 很多人都说学习python学习python,打开书本,三分钟,从入门到放弃. 这怎么可以!!!大家能选择python的原因可能是看它既简单,好入门,现在俨然是语言中的一匹黑马. ...

  10. C语言-内存函数的实现(二)之memmove

    C语言中的内存函数有如下这些 memcpy memmove memcmp memset 下面看看memmove函数 memmove 为什么会需要memmove函数? int main() { int ...