Linux自动执行任务
Linux自动执行任务
单次执行用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自动执行任务的更多相关文章
- 使用php作linux自动执行脚本
使用php作linux自动执行脚本 [来源] 达内 [编辑] 达内 [时间]2013-03-21 在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者 ...
- linux系统自动执行任务(转)
开机启动 开机启动应该是我们很经常的需求了,我们常需要在开机时就自动执行某些命令来开启服务,进程等,有了它我们不必再在每次开机时输入同一堆命令. chkconfig命令 使用chkconfig命令可以 ...
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
centos shell编程4[分发系统] 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要 ...
- Linux中的定时自动执行功能(at,crontab)
Linux中的定时自动执行功能(at,crontab) 概念 在Linux系统中,提供了两种提前对工作进行安排的方式 at 只执行一次 crontab 周期性重复执行 通过对这两个工具的应用可以让我们 ...
- php 执行计划任务方式之 linux crontab 执行命令
一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动c ...
- linux定时执行任务crontab命令用法
linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所 ...
- linux定时执行任务
(1)Linux下如何定时执行php脚本?(2)Linux下如何设置定时任务?(3)Crontab定时执行程序 核心提示:键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一 ...
- linux - 自动删除n天前日志
1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -m ...
- linux定时执行任务 转
转自:http://www.cnblogs.com/thinksasa/archive/2013/06/06/3121030.html linux定时执行任务 (1)Linux下如何定时执行php ...
随机推荐
- 后端Spring Boot+前端Android交互+MySQL增删查改
2021.1.27 更新 已更新新版本博客,更新内容很多,因此新开了一篇博客,戳这里. 1 概述 使用spring boot作为后端框架与Android端配合mysql进行基本的交互,包含了最基本的增 ...
- JMeter 结果处理常见问题
1. 前言 2. 结果处理常见问题 1)在察看结果树中只看失败情况 2)如何把日志放入文件查看 3)cvs 文件中文读取乱码 4)失败请求数据的采集 5)结果树响应数据中文乱码解决办法 1. 前言 工 ...
- 内网渗透-windows认证
前言:全国HW刚结束,加强一波内网概念,去年11月红队成绩并不理想,这次必拿下好成绩.冲!!! 0x00 本地认证 本地认证基础知识 在本地登录Windows的情况下,操作系统会使用用户输入的密码作为 ...
- N 皇后-力扣解题
n 皇后问题 研究的是如何将 n 个皇后放置在 n*n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案. 每一种解法包含一个不同的 n 皇后问 ...
- Weekly Contest 184
1408. String Matching in an Array Given an array of string words. Return all strings in words which ...
- HIT手 | 机械电气构造简述和微分运动学及静力学的简单推导
机械结构电气构造简述 HIT手有四个手指,每个手指4个关节,其中第一和第二个关节正交,第三和第四个关节机械耦合,故只有3个自由度,另外大拇指多了一个相对手掌运动的自由度,故一只手掌总共有13各个自 ...
- POJ 2976 01分数规划基础题目
题意: 给你一组"数",一共n个,每个数有两个权值,价钱a[i],代价b[i],让你选择n - k使得 sigma(a[i]) / sigma(b[i]) * 100 ...
- Xposed学习三:基石
在上一篇我们留下问题:handleLoadPackage如何生效即在何时被执行. 先看XposedBridge.class的main(该函数是在appruntime.start函数中替换原先zygot ...
- Burpsuite工具的使用
目录 Burpsuite Proxy代理模块 Repeater模块(改包,重放) Intruder模块(爆破) Target模块 position模块 Payloads模块 Options模块 一处爆 ...
- OpenSSL相关漏洞
目录 心脏出血漏洞(CVE-2014-0160) OpenSSL CCS注入漏洞(CVE-2014-0224) OpenSSL FREAK Attack漏洞(CVE-2015-0204) TLS/SS ...