Linux에서 자바 프로그램을 정시에 실행하는 방법
하나, 자바 프로젝트를 포장합니다.일반적으로 eclipse와netbeans로 프로젝트를 직접 jar로 포장하면 됩니다. 그리고jar를 같은 디렉터리 아래의lib 라이브러리 폴더와 함께 linux 폴더 아래에 두십시오.여기/opt/ftpcounter 밑에 놓을게요.이 프로그램의 역할은 어떤 ftp의 파일 정보를 읽는 것입니다.
2,linux 아래의 셸 스크립트, 내 ftpcounter.sh를 예로 들면, 내가 실행하고자 하는 것은 FtpCounter이다.jar.
4
#!/bin/bash
#
export LANG="en_US.UTF-8"
export JAVA_HOME=/usr/javak1.6.0_31
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOMEb/dt.jar:$JAVA_HOMEb/tools.jar
FTP_HOME=/opt/ftpcounter
CONFIG=$FTP_HOME/configer.properties
echo "【`date +%Y-%m-%d_%H:%M:%S`】 ......"
sed -i "/OVER/ s/=.*/=0/g" $CONFIG
cd $FTP_HOME && echo " :$FTP_HOME"
java -jar $FTP_HOME/FtpCounter.jar && echo " FtpCounter.jar !" && sed -i "/OVER/ s/=.*/=1/g" $CONFIG || echo " FtpCounter.jar !"
echo "【`date +%Y-%m-%d_%H:%M:%S`】 , ."
우선 자바의 환경 변수를 가져와야 한다. 중국어를 실행할 때 인코딩이 어지럽지 않도록 하려면 중국어 인코딩도 가져와야 한다.이 내용을 가져오는 것은crontab 정시 프로그램이 스크립트를 호출할 때 시스템 환경 변수가 불러오지 않았기 때문입니다.그 다음에jar의 명령을 실행하는 것은java-jar가jar 파일 이름이면 됩니다. 이 명령은 크로스플랫폼입니다.
셋째, 모니터링 프로그램, linux 아래에서 자바 프로그램을 실행할 때 가끔 영문도 모른 채 자동으로 멈출 수 있습니다. 다음은 모니터링 스크립트를 추가했습니다.ftpcounterwatch라고 합니다.sh.
4
#!/bin/bash
FTP_HOME=/opt/ftpcounter
CONFIG=$FTP_HOME/configer.properties
while [ `cat $CONFIG | awk -F'=' '/OVER/ {print$2}'` -eq 0 ]
do
FTPCOUNTERPID=`pgrep ftpcounter.sh`
FTPCOUNTERJARPID=`ps -ef | grep FtpCounter.jar | grep -v grep | awk '{print $2}'`
if [ a$FTPCOUNTERPID != "a" ];then
echo $FTPCOUNTERPID
kill -9 $FTPCOUNTERPID && echo "【`date +%Y-%m-%d_%H:%M:%S`】 >, ftpcounter.sh !"
fi
if [ a$FTPCOUNTERJARPID != "a" ];then
echo $FTPCOUNTERJARPID
kill -9 $FTPCOUNTERJARPID && echo "【`date +%Y-%m-%d_%H:%M:%S`】
, FtpCounter.jar !"
fi
sh $FTP_HOME/ftpcounter.sh &
sleep 5m
done
4, 타이머 설정linux 단말기에서crontab-e를 입력하면 타이머의 설정vi인터페이스를 조정할 수 있습니다.다음 문장을 입력하시면 됩니다.
4
15 9 * * * sh /opt/ftpcounter/ftpcounter.sh >> /opt/ftpcounter/ftpcounter.log
20 9 * * * sh /opt/ftpcounter/ftpcounterwatch.sh >> /opt/ftpcounter/ftpcounter.log
위의 뜻은 9시 15분에jar의 셸 스크립트를 실행하고 20분구에서 ftpcounter를 모니터링한다는 것이다.sh 및 FtpCounter.jar의 프로세스가 아직 있는지 여부입니다. 프로그램이 끊겼으면 시내에 들어가서 죽이고 다시 실행합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.