




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux 定时任务 fileclear.shtamcdir=$HOME/ora/user_projects/domains/tamccd $tamcdirecho rm -f ls heapdump*.phdrm -f heapdump*.phdecho rm -f ls javacore*.txtrm -f javacore*.txtecho rm -f ls Snap*.trcrm -f Snap*.trccd binecho cp /dev/null nuhup.outcp /dev/null nuhup.outcd $tamcdir/pxbakecho rm -rf ls 20*rm -rf 20*cd $tamcdir/webapps/tamcx/fileLoadecho rm -f find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1 -exec rm -f ;task.crontab#web服务端日志、临时文件清理10 1 * * * ksh $HOME/tools/clearweblogic.sh /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.log 2/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.logtask.null.crontab是一个没有内容的空文件开启定时任务crontab /weblogic/tools/task.crontab停止定时任务crontab /weblogic/tools/task.null.crontabcrontab -u username -l|-e|-r参数:-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;-e: 编辑crontab 的工作内容;-l: 查阅crontab的工作内容;-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。范例一:用dmtsai的身份在每天的12:00发信给自己crontab -e#此时会进入vi的编辑界面让你编辑工作。注意到,每项工作都是一行。0 12 * * * mail dmtsai -s at 12:00 /tmp/ls.txt 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工 作便会自动执行该工作。6. crontab命令选项: -u指定一个用户 -l列出某个用户的任务计划 -r删除某个用户的任务 -e编辑某个用户的任务7. cron文件语法: 分 小时 日 月 星期 命令 0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务) 记住几个特殊符号的含义: “*”代表取值范围内的数字, “/”代表”每”, “-”代表从某个数字到某个数字, “,”分开几个离散的数字8. 任务调度设置文件的写法 可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件 具体格式如下:Minute Hour Day Month Dayofweek command分钟 小时 天 月 天每星期 命令 每个字段代表的含义如下: Minute 每个小时的第几分钟执行该任务 Hour 每天的第几个小时执行该任务 Day 每月的第几天执行该任务 Month 每年的第几个月执行该任务 DayOfWeek 每周的第几天执行该任务 Command 指定要执行的程序 在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选 字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。 举例如下: 按 Ctrl+C 复制代码按 Ctrl+C 复制代码9. 新增调度任务 新增调度任务可用两种方法: 1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。10. 查看调度任务crontab -l /列出当前的所有调度任务crontab -l -u jp /列出用户jp的所有调度任务11. 删除任务调度工作 crontab -r /删除所有任务调度工作12. 任务调度执行结果的转向 例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中 30 5 * * * ls /jp/test 2&1 注:2&1 表示执行结果及错误信息。 编辑/etc/crontab 文件配置cron cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root /如果出现错误,或者有数据输出,数据作为邮件发给这个帐号HOME=/ /使用者运行的路径,这里是根目录# run-parts01 * * * * root run-parts /etc/cron.hourly /每小时执行/etc/cron.hourly内的脚本 02 4 * * * root run-parts /etc/cron.daily /每天执行/etc/cron.daily内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly /每星期执行 /etc/cron.weekly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly /每月去执行/etc/cron.monthly内的脚本 大家注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了 例如: 1) 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 2)直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务11 2 21 10 * rm -rf /mnt/fb 在UNIX下怎样实现和Windows下“计划任务”一样的功能$crontab -e编辑脚本$crontab -l察看脚本用$crontab -e编辑脚本,加入下列行:分 小时 星期 月 命令Linux下crontab命令的用法任务调度的crond常驻命令crond是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置3、Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:文件含义/etc/cron.deny该文件中所列的用户不允许使用Crontab命令/etc/cron.allow该文件中所列的用户允许使用Crontab命令/var/spool/cron/是所有用户的crontab文件/var/spool/cron/crontabs4、Crontab命令的格式为:crontab l|-r|-e|-i username,其参数含义如表一: 参数名称含义示例-l显示用户的Crontab文件的内容crontabl l-i删除用户的Crontab文件前给提示crontabl -ri-r从Crontab目录中删除用户的Crontab文件crontabl -r-e编辑用户的Crontab文件crontabl -e5、用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,格式如下:* * * * *其时间段的含义如表二: 段含义取值范围第一段代表分钟 059第二段代表小时 023第三段代表日期 131第四段代表月份 112第五段代表星期几 0代表星期日名称 : crontab使用权限 :所有使用者使用方式 :crontab -u user filecrontab -u user -l | -r | -e 说明 :crontab是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user是指设定指定 user的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user的话,就是表示设定自己的时程表。餐数 :-e :执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)-r :删除目前的时程表-l :列出目前的时程表时程表的格式如下 :f1 f2 f3 f4 f5 program其中 f1是表示分钟,f2表示小时,f3表示一个月份中的第几日,f4表示月份,f5表示一个星期中的第几天。program表示要执行的程序。当 f1为 *时表示每分钟都要执行 program,f2为 *时表示每小时都要执行程序,其馀类推当 f1为 a-b时表示从第 a分钟到第 b分钟这段时间内要执行,f2为 a-b时表示从第 a到第 b小时都要执行,其馀类推当 f1为 */n时表示每 n分钟个时间间隔执行一次,f2为 */n表示每 n小时个时间间隔执行一次,其馀类推当 f1为 a, b, c,.时表示第 a, b, c,.分钟要执行,f2为 a, b, c,.时表示第 a, b, c.个小时要执行,其馀类推使用者也可以将所有的设定先存放在档案 file中,用 crontab file的方式来设定时程表。 例子 :每月每天每小时的第 0分钟执行一次 /bin/ls :0 7 * * * /bin/ls 在 12月内,每天的早上 6点到 12点中,每隔 20分钟执行一次 /usr/bin/backup :06-12/3*12*/usr/bin/backup 周一到周五每天下午 5:00寄一封信给 :017*1-5mail -s hi /dev/null 2&1即可例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示its dinner time示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间): 1. 以普通用户登录linux系统(我用的是CentOS4.1)2. $crontab e说明:系统默认的编辑器是VIM,如果不是请加上以下shell:$EDITOR=vi$export EDITOR3. 输入”*/1 * * * * date $HOME/test.txt”,save and exit VIM4. $su root5. $cd /etc/init.d6. ./crond restart下面看看看几个具体的例子:0 */2* * /sbin/service httpd restart 意思是每两个小时重启一次apache 507 * * /sbin/service sshd start 意思是每天7:50开启ssh服务5022 * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务0 0 1,15* * fsck /home 每月1号和15号检查/home 磁盘1 * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件0003 *1-5find /home *.xxx -mtime +4 -exec rm ; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。306 */10* * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。以某一频率执行任务linux缺省会启动crond进程,crond进程不需要用户启动、关闭。crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度配置文件中。cron的调度文件有以下几个:1.crontab2.cron.d3.cron.daily4.cron.hourly5.cron.monthly6.cron.weekly如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab或cron.d目录中。示例:每隔一分钟执行一次脚本 /opt/bin/test-cron.sh可以在cron.d新建脚本 echo-date.sh内容为*/1*root /opt/bin/test-cron.sh在指定的时间运行任务也可以通过at命令来控制在指定的时间运行任务如:at -f test-cron.sh -v 10:25其中-f指定脚本文件, -v指定运行时间quote:ea946d690b=lophyxp首先用contab -l >contabs.tmp导出contab的配置。然后编辑contabs.tmp文件。以一下格式添加一行:分钟 小时 天 月 星期 命令比如10 3 * * 0,6 hello就是每周六、周日的3点10分执行hello程序。15 4 * * 4-6 hello就是从周四到周六的4点15点执行hello程序。然后用contab contabs.tmp命令导入新的配置。一般不建议直接修改/etc/下的相关配置文件。启动cron进程的方法:/etc/init.d/crond start开机就启动cron进程的设置命令:chkconfig -add crond方法二:把cron加入到启动脚本中:# rc-update add vixie-cron defaultcrontab -l #查看你的任务crontab-e#编辑你的任务crontab-r#删除用户的crontab的内容实例讲解二:系统cron设定:/etc/crontab通过 /etc/crontab文件,可以设定系统定期执行的任务,当然,要想编辑这个文件,得有root权限0 7* * root mpg123 /wakeup.mp3 分 时 日 月 周示例:0 4 * * 0rootemerge -sync & emerge -uD world #每周日凌晨4点,更新系统0 2 1 * *root rm -f /tmp/* #每月1号凌晨2点,清理/tmp下的文件0 8 6 5 *rootmail robin > /tmp/test.txt晚上11点到早上8点之间每两个小时,早上八点023-7/2,8*echo have a good dream:) >> /tmp/test.txt每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点0114*1-3command line1月1日早上4点04 1 1 * command linelinux下定时执行任务的方法在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。在LINUX中,周期执行的任务一般由cron这个守护进程来处理ps -ef|grep cron。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。一、cron在3个地方查找配置文件:1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。二、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。三、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。四、权限crontab权限问题到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在用法如下:1、如果两个文件都不存在,则只有root用户才能使用crontab命令。2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab,如果两个文件中都有同一个用户,以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。五、cron服务cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。/sbin/service crond start /启动服务/sbin/service crond stop /关闭服务/sbin/service crond restart/重启服务/sbin/service crond reload /重新载入配置/sbin/service crond status /查看服务状态在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。 每个域之间使用空格或者制表符分隔。格式如下: minute hour day-of-month month-of-year day-of-week commands 合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)commands(代表要执行的脚本) 除了数字还有几个个特殊的符号就是*、/和-、,,*代表所有的取值范围内的数字,/代表每的意思,/5表示每5个单位,-代表从某个数字到某个数字,分开几个离散的数字。几个例子:每天早上6点06*echo Good morning. /tmp/test.txt /注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。每两个小时0*/2*echo Have a break now. /tmp/test.txt 晚上11点到早上8点之间每两个小时和早上八点023-7/2,8*echo Have a good dream /tmp/test.txt每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点0114*1-3command line1月1日早上4点0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root /如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/每小时执行/etc/cron.hourly内的脚本01*root run-parts /etc/cron.hourly每天执行/etc/cron.daily内的脚本024*root run-parts /etc/cron.daily 每星期执行/etc/cron.weekly内的脚本224*0root run-parts /etc/cron.weekly 每月去执行/etc/cron.monthly内的脚本4241*root run-parts /etc/cron.monthly 注意: run-parts这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。 每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。5,15,25,35,45,5516,17,18*command每周一,三,五的下午3:00系统进入维护状态,重新启动系统。0015*1,3,5shutdown -r +5每小时的10分,40分执行用户目录下的innd/bbslin这个指令:10,40*innd/bbslink 每小时的1分执行用户目录下的bin/account这个指令:1*bin/account每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):203*(/bin/rm -f expire.ls logins.bad;bin/expire$#62;expire.1st)每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。12,5534-91,4*/bin/rm -f expire.1st$#62;$#62;mm.txt at命令实现定时任务假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了。 at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。 at命令执行流程如下# at 2:05 tomorrowat/home/kyle/do_jobat Ctrl+DAT Time中的时间表示方法-时 间 例子 说明-Minute at now + 5 minutes 任务在5分钟后运行Hour at now + 1 hour 任务在1小时后运行Days at now + 3 days 任务在3天后运行Weeks at now + 2 weeks 任务在两周后运行Fixed at midnight 任务在午夜运行Fixed at 10:30pm 任务在晚上10点30分注意:linux默认为不启动,而ubuntu默认为启动的。检查是否启动,用service atd检查语法,用service atd status检查atd的状态,用service atd start启动atd服务。查看at执行的具体内容:一般位于/var/spool/at目录下面, 用vi打开,在最后一部分就是你的执行程序参数详解-V : 印出版本编号-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c. z 以及 A, B, . Z 共 52 个-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入网络应用-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)-v : 列出所有已经完成但尚未删除的指定删除任务atrm 2三天后的下午 5 点锺执行 /bin/ls :at 5pm 3 days /bin/ls三个星期后的下午 5 点锺执行 /bin/ls :at 5pm 2 weeks /bin/ls明天的 17:20 执行 /bin/date :at 17:20 tomorrow /bin/date1999 年的最后一天的最后一分钟印出 the end of world !at 23:59 12/31/1999 echo the end
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金地农场节水可行性报告商业计划书与可行性报告
- 装饰装修工程施工组织设计
- 乡村旅游与旅游社区参与:2025年文旅融合的社区共建共享报告
- 中医院入编考试题及答案
- 2025年科技企业孵化器建设资金申请与产业链协同发展报告
- 无人机物流配送技术在物流配送行业中的应用与挑战报告
- 金融领域反洗钱技术新应用2025年监管机制创新与合规管理挑战报告
- 广西考公2025真题
- 中医睡眠测试题及答案
- 品牌题库及答案大全
- GA/T 1073-2013生物样品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、异丙醇和正丁醇的顶空-气相色谱检验方法
- 第6章 经济与产业
- 机关行为36“忌”(11章)
- 渡江战役讲解词(20分钟)
- 任人处置的作文完整的
- 模塑件尺寸公差表
- 电线电缆拉丝及连续退火工艺
- 提高内镜中心内镜洗消合格率PDCA
- 综合类审计工作底稿全套模板
- 《化学教育测量与评价》课程教学大纲
- 驾驶证学法减分(学法免分)题库及答案(200题)
评论
0/150
提交评论