우분투 컴퓨터에서 2 시간마다 작은 모니터링 jar 파일을 실행하고 싶습니다.
java -jar mymonitoringtool.jar
설정하는 방법을 모르겠습니다.
댓글
- 크론이 친구입니다.
- 일광 절약으로 전환하려면 어떻게해야하나요? 작업이 2 시간마다 실행되고 그 때 1 시간을 건너 뛰거나 추가 할 수없는 것이 매우 중요한가요?
- 예, 2 시간마다 실행되어야합니다. 건너 뛰지 않음 2 시간 미만의 모니터링이 2 시간 미만이면 효과적이지 않은 것 같습니다. 일부 통계를 실행할 계획이므로 지속 시간이 중요합니다.
답변
요구 사항에 따라 다음 표현식을 사용하여 크론 탭을 설정할 수 있습니다.
0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log
먼저 crontab -l
를 실행하여 기존 크론 작업을 확인해야합니다.
그렇지 않은 경우 아직 크론 작업이 있으면 텍스트 파일 (예 : my-cron-job.txt)에 줄을 긋고 crontab my-cron-job.txt
를 실행하여 활성화합니다. 그런 다음 crontab -l
를 다시 한 번 실행하여 작업이 추가되었는지 확인할 수 있습니다.
기존 크론 작업이있는 경우
및 crontab 파일을 편집합니다. 이렇게하려면 명령 줄 편집기 (기본적으로 vi)로 작업해야합니다.
cron 데몬은 제한된 수만 설정합니다. 환경 변수가 있으므로 Java 실행 파일의 전체 경로를 지정하는 것이 좋습니다. 또한 실행 가능한 JAR 파일의 전체 경로를 지정해야합니다.
java -jar
명령에서 출력을 수집한다고 가정합니다. 명령에 로그 파일을 추가했습니다. 명령의 출력 및 오류 스트림은이 로그 파일로 리디렉션되며, 이름은 타임 스탬프 (예 : monitor-2018Nov03-200000.log)로 지정됩니다.
모든 것이 설정되면 처음 한두 번 실행될 때 크론 작업을 모니터링해야합니다. 모든 것이 필요에 따라 작동하면 실행 상태로 둘 수 있습니다.
외부 참조로 , 여기에 크론 작업에 대한 소개가 있습니다. 이렇게하면 예약이 실제로 어떻게 작동하는지 이해하는 데 도움이됩니다.
https://www.howtoforge.com/a-short-introduction-to-cron-jobs
답변
cron은 Linux의 내부 작업 스케줄러입니다. 특정 간격 또는 date_time에 명령이 실행되도록 예약하는 데 도움이됩니다.
터미널에
crontab -e
입력이 줄 추가
0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
저장 후 종료
다음과 같은 Crontab 구문
00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
0 분마다 2 시간마다 매일 매일 매주 평일 run-this-command
추가 옵션 및 정보 : https://help.ubuntu.com/community/CronHowto
설명
- JAVA_HOME을 설정 한 경우 경로 / to / java가 필요합니까? 내 컴퓨터에서 java 버전이 작동하는 것을 볼 수 있습니다.
- 필요하지 않습니다. 환경 변수 (JAVA_HOME) 인 경우 경로 추가 설정됩니다. 그러나 어떻게 든 환경 변수가 엉망이되면 cronjob에 추가 된 Java 경로가 ' t 브레이크