Linux下设置定时任务执行python脚本和java定时任务

linux下的定时任务

Python

运行 : crontab - e  进入编辑模式:
  *  *  *  *  *  python  /etc/task/run.py  >> /var/log/dw.log  2 > &1

需要注意2点 , 就是

1.不能写脚本的名字, 必须在脚本前加上python , 如果还是不行运行, 那就写上python的完整脚本
例如: * * * * * /usr/bin/python  /etc/task/run.py  >> /var/log/dw.log  2 > &1
2. /etc/task/run.py这个脚本, 开头指定的 #!/usr/bin/python 在定时任务里不起作用 
   我在centos6下这样写是无效的:
   * * * * *  /etc/task/run.py  >> /var/log/dw.log  2 > &1
   尽管我在文件的开头指定了 #!/usr/bin/python , 定时任务仍旧不会执行

Java 需要注意的问题

一般我们的程序, 都会使用日志记录程序出现的问题, 例如我这里使用的是log4j
我的程序的目录是/etc/task/dw目录, 目录结构如下:
lib/test.jar #运行过程中用到的jar包
run.sh   #运行脚本
log4j.properties  #log4配置文件

run.sh的内容大概如下:

#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.7
export CLASSPATH=,:$CLASSPATH:./lib/test.jar:还有很多jar包, 不列举了
cd  /etc/task/dw  #必须有此步骤, 否则系统就不会加载log4j.properties文件了
PATH=$JAVA_HOME/bin:$PATH
java com.dw.Main  

你可能感兴趣的:(Linux下设置定时任务执行python脚本和java定时任务)