现在来介绍 linux上的 一种定时处理命令: 这种命令一般作用于定时处理的类或者方法。好处在于不用我们自己写定时处理了,直接在linux自动执行定时处理机制,
方便快捷。
命令是 crontab -e
然后手动打上 #* * * * * /opt/project/pro2/run.sh 一共有五个星星,分别是 {秒 分 时 * * }后面两个自己查。
其中这个run.sh 就是要执行的配置文件 写法如下:
dataSyncclient=$(ps -ef | grep weibo.cyd.dao.taskDAO | grep -v grep | wc -l) //grep后面跟的是 项目路径 (一直延伸到类)
echo $dataSyncclient
if [ "$dataSyncclient" -eq 0 ]
then
{
export JAVA_HOME=/usr/local/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin //export 这三个 不用管 在linux上一般是固定的
LIBS_DIR=/opt/GetWeiboContent1/lib //这个路径是到lib下的
for i in $LIBS_DIR/*.jar
do CLASSPATH=$i:"$CLASSPATH"
done
SERVER=/opt/GetWeiboContent1 //这个是linux服务器上的 项目名称路径
cd $SERVER/bin
java -Xms512m -Xmx1024m -classpath $CLASSPATH weibo.cyd.dao.taskDAO //这个是项目路径 (一直延伸到累)
}
else
echo "exit"
fi
实例:
dataSyncclient=$(ps -ef | grep com.yqzk.datav3.data.FtpDown | grep -v grep | wc -l)
echo $dataSyncclient
if [ "$dataSyncclient" -eq 0 ]
then
{
echo "------------------------------------------------------"
export JAVA_HOME=/usr/local/jdk1.6.0_45
export PRE_HOME=/opt/DataDistributeV3
echo "PRE_HOME="$PRE_HOME
export CLASSPATH=$PRE_HOME/bin
LIBS_DIR=/opt/DataDistributeV3/lib
for i in $LIBS_DIR/*.jar
do CLASSPATH=$i:"$CLASSPATH"
done
echo "CLASSPATH="$CLASSPATH
#out java version
$JAVA_HOME/bin/java -version
#set jvm arg
export JVM_ARG="-Xms128M -Xmx512M"
echo "JVM_ARG="$JVM_ARG
export LANG="zh_CN.UTF-8"
echo "------------------------------------------------------"
$JAVA_HOME/bin/java $JVM_ARG com.yqzk.datav3.data.FtpDown & \
echo "system started in RUNNING mode!"
}
else
echo "exit"
fi
以上就是linux定时处理机制
补充一下(linux命令的操作): 当执行 crontab -e 的时候 , 会进入定时处理中,当你写完你要定时的时间时候( #* * * * * /opt/project/pro2/run.sh)你如何保存呢? 命令如下:
先按Esc ==> Shift+; ==> wq ==> 回车 如上操作后就保存了