linux下crontab定时执行任务的方法

来源:互联网 发布:双向互动网络平台 编辑:程序博客网 时间:2024/05/18 07:12

crontab命令的功能是在一定的时间间隔调度一些命令的执行。

设置一个crontab job的方法如下:

1. 写cron脚本文件,命名为crontest.cron。
    */2 * * * * /bin/sh /home/hello.sh 
2. 添加定时任务。执行命令 “crontab crontest.cron”。搞定 
3. "crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
4. 取消crontab任务 crontab -r

注意:
crontab不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个脚本时是成功的,
但是到crontab中试图让它定期执行时就是会出错。两种解决方法:
(1)export JAVA_HOME=/bin/java/...
(2)如果是Linux环境下的脚本,脚本的头上用缺省的#!/bin/sh就可以了,如果是Solaris环境下的脚本,
脚本头上用#!/bin/ksh然后第一个部分先写这些:
###################
. /etc/profile
. ~/.bash_profile
##################
这样,crontab在执行脚本的时候,就能够读到用户的环境变量参数啦


更多:
一、查看crond进程状态:
/sbin/service crond start //启动服务 
/sbin/service crond stop //关闭服务 
/sbin/service crond restart //重启服务 
/sbin/service crond reload //重新载入配置 
二、新增调度任务
新增调度任务可用两种方法:
    1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
    2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
三、查看调度任务
    crontab -l //列出当前的所有调度任务
    crontab -l -u jp   //列出用户jp的所有调度任务
四、删除任务调度工作
    crontab -r   //删除所有任务调度工作
五、任务调度执行结果的转向
    每天5:30执行ls命令,并把结果输出到/jp/test文件中
    30 5 * * * ls >/tmp/test.txt 2>&1  


参考:
【1】http://blog.csdn.net/tianlesoftware/article/details/5315039