linux下定时任务
一.linux定时任务软件种类 .at : 适合执行一次的任务。突发性的任务。需要启动 atd 服务才能执行任务。 .crontab: 周期性的执行任务工作:启动crond 服务后可以执行任务。最常用到的任务。 .anacron : 已天为周期后者在系统每次开机之后执行的任务工作
一.linux定时任务软件种类
1.at:适合执行一次的任务。突发性的任务。需要启动atd服务才能执行任务。
2.crontab:周期性的执行任务工作:启动crond服务后可以执行任务。最常用到的任务。
3.anacron:已天为周期后者在系统每次开机之后执行的任务工作。他会检测我们在停机之间应该被执行但是没有被执行的任务,将该任务执行一次。
二、crontab定时任务
1.语法
[root@backup-Dextra]#crontab--help
crontab:invalidoption---
crontab:usageerror:unrecognizedoption
usage:crontab[-uuser]file
crontab[-uuser][-e|-l|-r]
(defaultoperationisreplace,per1003.2)
-e(edituser'scrontab)
-l(listuser'scrontab)
-r(deleteuser'scrontab)
-i(promptbeforedeletinguser'scrontab)
-s(selinuxcontext)
/var/spool/cron/系统定时任务配置文件路径:查看、编辑定时任务都放在此目录下,已当前用户命名。
用户的定时任务规则一般分为6个段(前5段时间、6段是命令或者是脚本),每段用空格分隔(系统分为7段)
特殊符号
*:表示任意时间都
-:表示一个时间段1-5代表12345
,:表示分隔时间段
/n分隔n单位时间1/5代表每五分钟。
注意:日和周不要同时使用,否则达不到效果。
小结:书写定时任务要领
1.加必要注释
2.执行脚本前加/bin/sh可以有执行权限
3.在制定用户下执行相关定时任务crontab–uwyg–l
4.定时任务结尾加>/dev/null2>&1
5.生产任务不要打印输出去掉-v
6.定时任务或程序最好写到脚本里面执行
技巧:命令程序要用绝对路径
脚本中用到系统的环境变量要重新定义
7.定时任务执行的脚本要规范路径(/server/scripts/)
8.配置优秀定时任务过程
1)命令行执行命令命令成功后复制到脚本;
2)测试脚本,成功后复制脚本路径配置定时任务,不要手工输入;
3)测试环境先测试,然后正式上线;
三.系统定时任务
[root@study1~]#cat/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#Fordetailsseeman4crontabs
#Exampleofjobdefinition:
#.----------------minute(0-59)
#|.-------------hour(0-23)
#||.----------dayofmonth(1-31)
#|||.-------month(1-12)ORjan,feb,mar,apr...
#||||.----dayofweek(0-6)(Sunday=0or7)ORsun,mon,tue,wed,thu,fri,sat
#|||||
#*****user-namecommandtobeexecuted
接目录加run-parts/etc/cron.hourly目录内的可执行文件都会被执行。
利用系统配置文件/etc/crontab配置用户任务
*****rootrun-parts/etc/cron.hourly
四.生产场景如何调试定时任务
1.把任务执行频率快一些:每分钟5分钟。。。。。。。。。。。
强调:有些任务不允许频繁执行的,例如:定时往数据库插入数据,先在测试机上。
2.用正确的执行任务时间,设置完成后,可以修改下系统当前时间:生产环境部不可以
3.通过日志输出来调试定时任务追加到日志文件就可以了。有重定向了就不能定义到空
4.注意一些任务命令带来的问题
5.注意环境变量导致的定时任务故障(命令也要全路径)
6.通过定时任务Crond日志调试任务
五.crontab定时任务生产应用问题
1.环境变量问题
2.任务路径问题使用绝对路径
3.脚本权限问题脚本前加/bin/sh
4.时间变量问题“date+\%y\%m\%d”%写在脚本中不用转义
5.>.dev/null2>&1问题
6.定时任务加注释
7.用脚本程序替代命令行
8.避免不必要的程序输出:例如tar–zcvf中的V去掉
9.切到目标目录的上一级目录打包
10.定时任务中的脚本程序命令用全路径:如果环境变量重新定义了,就不需要了
linux下定时任务的更多相关文章
- Linux下定时任务配置-crontab
实际中经常有一些任务需要定期执行,人工操作比较麻烦,如果定时执行将会省去很多人力,还可以在一些资源占用不多的时间段执行,linux下crontab命令就实现了这一便捷的功能,实现脚本的自动化运行. 常 ...
- linux下定时任务的工具crontab的用法
Linux计划任务工具cron用法详解 linux下大名鼎鼎的计划任务工具crontab的使用介绍baidu.google上多得让人眼花缭乱,本着“天下文章一大抄”的觉悟,加上本人日常工作中总结的使用 ...
- linux下定时任务设置
原文http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html 觉这篇文章写的挺全的,把它拿过来存在博客里,方便以后查询. 为 ...
- Linux下定时任务的查看及取消
crontab -l 表示列出所有的定时任务 crontab -r 表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除,执行crontab -l后会提示用户:“no crontab ...
- linux下定时任务的简单示例
1.方式一:用sleep实现定时任务: 1.1 编辑shell脚本,如下sleep_aa.sh: #!/bin/bash t1=`date "+%Y-%m-%d %H:%M:%S" ...
- linux下定时任务的使用
使用方法 执行crontab -e命令会进入一个可编辑界面,在该界面中我们可以制定定时任务,然后保存退出(wq) 格式如下: 由于直接运行编辑命令后只是一个空白界面,不够友好,所以建议使用以下方式来增 ...
- Linux下定时任务Crontab的使用
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 入门 # crontab –e 这样可以已编辑模式打开个人的cro ...
- linux下添加定时任务
linux下定时任务文件在/etc/crontab 直接vim /etc/crontab 打开就行 在crontab文件中如何输入需要执行的命令和时间.该文件中每行都包括六个域,其中前五个域是指定命令 ...
- linux下crontab的使用实现
1 crontab实现定时任务 1.1服务状态 /sbin/service crond status 查看定时任务的服务是否启动 参数:start 启动服务 Stop 停止服务 R ...
随机推荐
- JAVA抽象类,接口,多态,抽象方法,一次列举
HEAD FIRST这系列的书,真的让人产生阅读的快感~~:) 和那套明日科技的一样,.. interface Nose { public int iMethod(); } abstract clas ...
- 作了点有意义 的事,加入CLOUDSTACK官方文档的中文翻译工作
https://www.transifex.com/ 昨天到今天,作了个部署构架方面的翻译.
- ROHS無鉛問題解答!ROHS IPC SGS
無鉛smt(smd)問題1. 問Maxim關于無鉛的定義是什么?答無鉛表示在封裝或產品制造中不含鉛(化學符號為Pb).IC封裝中,Pb在外部引腳拋光或電鍍中很常見.對于晶片級封裝(UCSP和倒裝芯片) ...
- TRAFFIC LIGHTS POJ 1158
题目大意: 在Dingilville 城市安排是一种不同寻常的方式,每个交叉路口有一条道路连接,一条道路最多连接两个不同的交叉路口.每个交叉路口不能连接他自己.道路旅行一端到另一端的时间是相同的,任何 ...
- tinyxml开源库的基本用法
最近项目中的某个功能需要写xml,由于项目中已经引入了tinyxml,所以不再寻找其他开源库. 前提:你得有个xml对象,声明tinyxml的对象:基于tinyxml的内存管理,TiXmlDocume ...
- Java---练习:文件切割与合并(1)
实现对大文件的切割与合并. 按指定个数切(如把一个文件切成10份)或按指定大小切(如每份最大不超过10M),这两种方式都可以. 示例程序说明: 文件切割:把一个文件切割成多个碎片,每个碎片的大小不超过 ...
- POJ 1700 坐船过河问题
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/E 解题思路:当n>=4,假设n个人单独过河所需 ...
- libvirt hypervisors信息采集
libvirt采集hypervisors信息的通用格式 driver[+transport]://[username@][hostname][:port]/[path][?extraparameter ...
- ORACLE 索引概述
索引是数据库中一种可选的数据结构,她通常与表或簇相关.用户可以在表的一列或数列上建立索引,以提高在此表上执行 SQL 语句的性能.就像本文档的索引可以帮助读者快速定位所需信息一样,Oracle 的索引 ...
- 关于storm群集容错概念的简单介绍
1.当一个worker死掉会发生什么? 当一个worker死掉,那么supervisor会重新启动这个worker.如果它总是启动失败将不能发送心跳到nimbus,那么nimbus将把这 ...