
Java 앱에 대한 호출을 실행하는 .bat 파일을 실행하는 예약된 작업이 있는 2008 R2 서버가 있습니다. 작업은 정상적으로 트리거되지만 로그 파일을 생성한 후에는 모든 실행이 중지됩니다. 설정 방법에 대한 자세한 내용은 다음과 같습니다.
이는 작업을 위해 특별히 생성된 사용자 수준 계정에서 실행되며 일괄 작업으로 로그온할 수 있는 권한이 설정되어 있습니다.
배치 파일이 실행할 수 있는 두 단계는 다음과 같습니다(두 번째 단계는 중단됨).
cd E:\CLIENT_DB\WS_Client\bin\
java -Xms256m -Xmx512m -XX:MaxPermSize=512m -cp ..;..\*;..\certs;..\config;..\client;..\client\*;..\lib\*;..\lib\axis2\* WsClientStarter update > E:\CLIENT_DB\Logs\WSCLIENT_LOG_%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%.txt
- Java 클라이언트의 첫 번째 작업은 log4j 유틸리티를 사용하여 클라이언트 클래스를 인수로 사용하여 로거를 생성하는 것입니다. 위의 일괄 호출에 표시된 파일 이름을 가진 빈 로그 파일을 얻었기 때문에 이는 성공한 것으로 보입니다. 구체적인 명령은 다음과 같습니다.
private static final Logger logger = Logger.getLogger(WsClientRunner.class);
- 그런 다음 클라이언트는 기본 기능을 시작하고 '업데이트' 인수를 읽어 실행 모드를 결정한 다음 프로그래밍된 대로 진행합니다.
내 질문은 다음과 같습니다.사용자가 시작하는 대신(예: 배치 파일을 두 번 클릭) 배치 작업으로 실행할 때 이를 방해하는 보안 정책이나 기타 프로세스가 있습니까?
Java 클라이언트는 로그 파일에 결과를 기록하는 것을 포함하여 자체적으로 실행될 때 제대로 작동하는 것처럼 보이므로 Java 클라이언트에 반드시 필요한 것은 아니라고 생각합니다. 그러나 모두 답변이 없는 경우 다음에는 StackOverflow 사람들에게 문의하세요.
답변1
구성 상자에서 운영 체제로 Windows 7, Windows Server 2008 R2가 선택되어 있는지 확인하십시오.
또한, 선택 사항이더라도 작업 속성의 작업 탭에 시작 폴더를 입력해야 합니다.
아마도 이것이 도움이 될 것입니다. 비슷한 문제로 도움이되었습니다.
답변2
우리에게도 이런 문제가 있었습니다. 예약된 작업을 실행하기 위해 입력한 자격 증명이 스크립트를 수동으로 실행하는 데 사용된 자격 증명과 다른 것으로 나타났습니다. 내가 찾은 다른 기사에서도 권한 문제를 지적했습니다.
작업을 실행하는 데 사용된 ID에 로컬 관리자 권한이 부여되면 예약된 작업이 작동했습니다. 그런 다음 스크립트가 성공적으로 완료되도록 허용하는 액세스 권한이 가장 적은 그룹을 찾을 때까지 하위 로컬 보안 그룹에 프로필을 배치하는 것을 테스트했습니다.