项目需要每天跑一次数据库从数据库中读取网站每天的用户行为并跟新到另外一张表
linux自动运行java文件需要满足三个条件
- 编译后可运行的jar包
- shell文件
- crontab时程表
执行过程
1 通过ant把你的java项目编译成jar包,
batch-RankingAutomaticUpdates.jar
2 编写 shell文件
# !/bin/sh
#环境设定
if [ -f `dirname $0`/../conf/setenv.sh ]; then
. `dirname $0`/../conf/setenv.sh
elif [ -f ../conf/setenv.sh ] ; then
. ../conf/setenv.sh
elif [ -f ~/conf/setenv.sh ] ; then
. ~/conf/setenv.sh
fi
# class入口
MAIN_CLASS=RankingAutomaticUpdates
#放jar包的文件路径
LIB_DIR=${ROOTDIR}/lib
#jar包路径
CLASSPATH="${LIB_DIR}/RankingAutomaticUpdates.jar"
#JVM设定
if [ -z ${VM_OPTION} ]; then
VM_OPTION="-Xmx512m"
fi
#移動
cd ${ROOTDIR}/batch
#実処理
echo "--- start Ranking --- " `date +"%Y/%m/%d %p %I:%M:%S"`;
java ${VM_OPTION} -jar ${CLASSPATH} "$@"
#java ${VM_OPTION} -classpath ${CLASSPATH} ${MAIN_CLASS}
RETVAL=$?
echo "--- end Ranking --- " `date +"%Y/%m/%d %p %I:%M:%S"`;
exit ${RETVAL}
3 通过sftp上传shell,jar包到linux服务器(linux虚拟机通过文件夹映射直接放在相应的文件夹就好)
RankingAutomaticUpdates.shell
RankingAutomaticUpdates.jar
4 设定 crontab时程表
“`
crontab -e 进入时程表的编辑
* * * * * 相应的文件夹地址/RankingAutomaticUpdates.shell