Linux定时任务 job调度
正在加载中...
1
创建shell脚本
需要执行的任务,如果仅需要调用其他程序的shell脚本,此步骤可以省略。
Shell脚本示例testsh.sh:其中第一行不能少;”#”为注释。
#!/bin/sh
#test sh
#writesome words to /test/testsh
#At thesame time,print them in the console window
a='Hello'
echo $a>> /test/testsh
echo $a
为文件添加可执行属性:chmod+x testsh.sh
2创建时程表
时程表里可以有多条任务,时程表的格式如下:
f1 f2 f3 f4 f5 program
其中f1-f5分别表示分钟,小时,日期,月份,星期(0-6)。
时程表示例cronfile:
0*/2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache
507 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务
00 1,15 * * fsck /home 每月1号和15号检查/home 磁盘
1* * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件
0003 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} ; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
306 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令
3将时程表提交给cron进程
执行命令:crontabcronfile
其中cronfile为时程表的名字。
这样就将cronfile文件提交给cron进程,同时,新创建cronfile的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名。
注:crontab cronfile操作后会将原来存在/var/spool/cron目录下用户名的文件中的信息覆盖掉。
crontabfilecrontab [ -u user ] [ -u user ] { -l | -r | -e }
-e : 执行文字编辑器来设定时程表
-r : 删除目前的时程表
-l : 列出目前的时程表
参考资料
http://hi.baidu.com/lpwok/item/3be24a9c7ccb75d91f427143
http://www.cnblogs.com/jiafan/articles/1153066.html
http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html