计划任务文件 linux,Linux之任务计划
一、单次任务计划
二、周期性任务计划
一、单次任务计划
命令:
batch:系统空闲时自动执行,不常用
at:可以使用相对时间、绝对时间或模糊时间,例如
相对时间:at now+3min,表示3分钟后执行
绝对时间:at 11:30,表示在11:30执行
模糊时间:at noon | midnight | teatime,表示在对应模糊时间执行
------------------------------------------
at常用选项:
-l:查看等待执行的任务,同atq
-d: 删除未执行的任务,同atrm
-f:指定脚本文件
------------------------------------------
1、使用at计划任务[root@TESTHOST SPECS]# at now+3min #3分钟后执行的任务
at> cat /etc/passwd #任务1
at> cat /etc/shadow #任务2
at> date #任务3
at> ls /scripts/ #任务4
at> #结束Ctrl+d提交任务
job 3 at 2015-04-24 08:20
You have mail in /var/spool/mail/root #执行结果以邮件方式发送给任务发起者
2、查看邮件,使用命令mail[root@TESTHOST SPECS]# mail #使用mail命令查看邮件
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/root": 3 messages #下列信息最前面的数字1为邮件编号
> 1 root Fri Apr 24 08:17 61/2298 "Output from your job "
2 root Fri Apr 24 08:18 15/524 "Output from your job "
3 root Fri Apr 24 08:20 62/2327 "Output from your job "
& 1 #提示符&后输入邮件编号,查看任务执行结果
Message 1:
From root@TESTHOST.localdomain Fri Apr 24 08:17:14 2015
Return-Path:
X-Original-To: root
Delivered-To: root@TESTHOST.localdomain
Subject: Output from your job 1
To: root@TESTHOST.localdomain
Date: Fri, 24 Apr 2015 08:17:14 +0800 (CST)
From: root@TESTHOST.localdomain (root)
Status: RO
#信息太多,这里略去
##################################################
New mail has arrived. #提示有新邮件到达
Loaded 1 new message
N 4 root Fri Apr 24 19:29 31/571 "Output from your job "
& q #输入q回车,退出mail
Held 4 messages in /var/spool/mail/root #告诉root用户有4条信息
[root@TESTHOST SPECS]#
3、查看等待执行的任务,使用命令at -l或atq[root@TESTHOST SPECS]# at -l
62015-04-24 19:41 a root #数字6为任务编号
[root@TESTHOST SPECS]# atq
62015-04-24 19:41 a root
4、删除未执行的任务,使用命令at –d或atrm[root@TESTHOST SPECS]# at now+3min #新建一个任务计划
at> ls /var
at>
job 7 at 2015-04-24 19:48
[root@TESTHOST SPECS]# at -l #查看待执行任务,任务编号为7
72015-04-24 19:48 a root
[root@TESTHOST SPECS]# date #查看当前系统时间
Fri Apr 24 19:45:44 CST 2015
[root@TESTHOST SPECS]# at -d 7 #删除未执行的任务,at -d #任务编号
[root@TESTHOST SPECS]# at -l #任务已删除
5、计划执行脚本,使用命令at –f /path/to/scriptfile TIME
注:使用at命令,Ctrl+d提交任务出现如下提示,则证明计划任务依赖的atd服务未启动Can't open /var/run/atd.pid to signal atd. No atd running?
查看atd服务状态,并启动[root@TESTHOST SPECS]# /etc/init.d/atd status #查看服务状态
atd is stopped
[root@TESTHOST SPECS]# /etc/init.d/atd start #启用服务
Starting atd: [ OK ]
[root@TESTHOST SPECS]# /etc/init.d/atd status #服务已运行
atd (pid 34529) is running...
二、周期性任务计划
1、依赖服务:crond[root@TESTHOST SPECS]# service crond status
crond (pid 1222) 正在运行...
2、crond配置文件
2.1、 系统crond配置文件及格式:/etc/crontab[root@TESTHOST ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root #任务执行结果发送邮件给用户
HOME=/
# 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 #星号后分别接用户、任务命令
2.2、用户crond配置文件及格式:/var/spool/cron/USERNAME[root@TESTHOST ~]# crontab -e #编辑当前用户的crond配置文件
no crontab for root - using an empty one #编辑后,保存退出,提示为root用户新建crond配置文件
crontab: installing new crontab
[root@TESTHOST ~]# ls /var/spool/cron/ #用户crond配置文件,文件名同用户名
root
[root@TESTHOST ~]# cat /var/spool/cron/root
# 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 #星号后接任务命令
*/2 * * * * ls /var
注:系统默认PATH=/bin:/sbin:/usr/bin:/usr/sbin,计划任务中使用的命令不在系统默认PATH中时,则使用绝对路径;使用脚本时,在脚本中自行定义PATH
2.3、配置文件周期格式含义
支持通配符:
*:相应时间点的所有有效取值,例如3 * * * * #每小时第3分
3 4 * * * #每天的4点03分
3 4 5 * * #每月5号的4点03分
0 0 * * * [ $[($(date +%s)/86400)%3] -eq 0 ] && /usr/sbin/ntpdate 10.1.1.120 &> /dev/null #每3天执行一次时间同步
,:离散取值,例如3,15,27,39,51 * * * * #每12分钟
/:定义指定取值范围内的频率,例如
*/2 * * * * #每2分钟
17 */3 * * * #每3小时的第17分
-:连续取值,例如
17 8-20/3 * * * #每天的8时-20时之间的每小时的第17分
以秒单位执行任务计划:
方法1:
* * * * * sleep 30 && /usr/bin/unison webdata #每30秒
方法2:
* * * * * for i in 0 1 2; do some_job && sleep 15; done; some_job #每15秒,循环次数为(60/n-1)
* * * * * for i in {1..5}; do some_job && sleep 10; done; some_job #每10秒
注意:使用%时要加反斜线。例如:
1 2 3 * * touch ~/file_$(date +\%Y\%m\%d).txt
但使用单引号后也可以不再使用反斜线,例如:
1 2 3 * * touch ~/file_$(date '+%Y%m%d').txt
2.4、拒收邮件
方法1:配置文件中定义MAILTO=’’
方法2:将命令输出信息重定向 &> /dev/null或> /dev/null 2>&1 #bash下,这两个重定向等价
3、crontab命令
常用选项:
-e:编辑任务计划
-r:移除配置文件,删除部分任务计划使用-e编辑
-l:列出周期性任务
-u USERNAME: #管理员可用的选项,可结合选项-e,-r,-l编辑、删除、查看其他用户的任务
博主的归纳总结质量都很高,文章的知识结构划分更容易阅读和理解,谢谢哈!
单击图片后放大查看
计划任务文件 linux,Linux之任务计划相关推荐
- 【PP-1】定义生产计划参数文件
今天开始呢,我要和优秀的小时同学,以及我们优秀的家长大时老师,学习PP相关的知识,虽然我觉得PP很复杂,而且我脑子也转不过来,所以学一点是一点,然后做好笔记,和小伙伴们共同进步. PP模块主要包括生产 ...
- 计划任务执行php文件,linux系统下添加计划任务执行php文件方法
在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时上下架.我们以php文件为例,讲解linux下的计划任务. 方法/步骤 1.打开linux系统命令行界面. 在命令行界面中输入如下命令: ...
- linux php任务计划,linux系统怎么添加计划任务执行php文件
linux系统怎么添加计划任务执行php文件 linux系统怎么添加计划任务执行php文件?PHP不支持多线程,有时候处理问题不是那么爽,小编以php文件为例,讲解linux下的计划任务. linux ...
- 计划任务文件 linux,Linux计划任务Crontab学习笔记(3):配置文件
[全局(系统)配置文件] 复制代码代码如下: /etc/crontab Linux 主要的配置文件都在 etc 目录下. 复制代码代码如下: cd /etc ls cron* 复制代码代码如下: vi ...
- linux 创建crontab文件位置,[基础教程]linux系统的crontab计划任务添加和删除
在linux系统中,有时候为了节省人力,所以将一些脚本进行定时执行,通过crontab计划任务进行启动和停止,这样能方便大部分时间来做其他事情,下面主要介绍一下如何启动和删除crontab计划任务 添 ...
- linux的周期计划任务叫atd,linux计划任务
一.单一计划任务 安装at: # yum -y install at 启动: # /etc/init.d/atd start 查看是否运行: # ps aux | grep atd 创建计划 # at ...
- linux设备负责执行计划任务,Linux计划任务详解,很详细,每一行命令都有相对应的白话解释。...
计划任务 计划任务的作用是:做一些周期性的任务,目前最主要的用途是定期备份数据. 计划任务主要分为一次性调度执行at和循环调度执行cron,下面我就围绕着at和cron来讲解. 一次性调度执行at a ...
- Linux云计算架构-设置计划任务与管理日志
文章目录 Linux云计算架构-设置计划任务与管理日志 1. 计划任务 2. 一次性计划任务(at) 3. 周期性计划任务(crontab) 4. 日志系统 5. rsyslog日志服务 6. 自定义 ...
- linux系统写一个计划任务并执行,Linux系统计划任务
本节索引: 一.同步服务器时间 二.执行一次性计划任务-- at 三.执行周期性计划任务--crond 在生活.生产环境中,我们可能遇到这样的场景,想在某个时刻,或者固定某个时间周期的在Linux ...
最新文章
- wps解析json数据_通过WordPress HTTP API 获取json内容并解析
- k3s containerd查看镜像命令示例
- 201771010118马昕璐
- 作者:温孚江,现任山东农业大学校长、教授,农业大数据创新战略联盟理事长,全国人民代表大会常务委员会委员。...
- mysql alidata_linux下安装mysql | 学步园
- find命令批量修改权限和用户和删除指定时间文件
- jQuery实现 div里面的文字如何自动缩小,避免文字溢出
- 【干货】中国非结构化数据中台实践白皮书.pdf(附55页pdf下载链接)
- 开源技术、开放使用、业务导向的大数据平台,助力银行数字化转型
- Python打造qq音乐歌曲下载器
- NCM格式如何转换为Mp3(简单快速)
- 蓝桥杯练习题--Fibonacci数列
- 并查集——加边的无向图
- 这个 Spring 循环依赖的坑,90% 以上的人都不知道
- 鸟哥Linux私房菜:第六章笔记
- android 商城开发,Android 应用商城开发的几个关键技术点
- Udacity 优达学院机器学习深度学习课程
- 测试人员如何规划自己的职业生涯,分享我这些年的测开的总结给大家参考~
- hdu 2955 01背包
- 用python的pyautogui模块模拟鼠标点击和键盘输入
热门文章
- python网址太长_【原创】分享一个自己用python写的长网址转短网址工具,给需要的你...
- ruby 执行函数_Ruby at()函数
- c ++atoi函数_atoi()函数以及C ++中的示例
- 使用OpenCV在Python中进行人脸和眼睛检测
- Java 200+ 面试题补充③ Dubbo 模块
- Lua元表(Metatable)简易教程
- linux localhost的修改
- springboot工程的热部署
- 微信公众号使用Chrome插件:Markdown Nice优化微信公众号排版教程
- JENKINS使用DOCKER运行PYTEST并且出ALLURE报告