ipsec auto --status가 cronjob에서 실패합니다.

ipsec auto --status가 cronjob에서 실패합니다.

무엇보다도 다음을 사용하여 IPSec 터널의 상태를 확인하는 서버 모니터링 스크립트가 있습니다.

ipsec auto --status

콘솔(루트로)에서 실행할 때 매력처럼 작동하지만 (루트) cronjob에서 실행하자마자 명령이 실패합니다. 출력이 전혀 없습니다.

나는 심지어 다음과 같은 간단한 루트 cronjob을 만들어 보았습니다.

*/1 * * * * ipsec auto --status > /tmp/ipsec.txt

이것이 하는 일은 빈 /tmp/ipsec.txt 파일을 생성하는 것뿐입니다!

참고: 스크립트의 다른 모든 작업(네트워크 및 데이터베이스 액세스 포함)은 제대로 작동합니다.

어떤 빛이라도 환영합니다.

답변1

길에서 본 cron것 같지는 않네요. ipseccrontab에 바이너리 파일의 절대 경로를 포함하는 것은 매우 좋은 습관입니다. /var/log/messages아니면 불만이 있을 수도 있습니다 /var/log/cron.

*/1 * * * * /usr/sbin/ipsec auto --status

PATHcrontab 상단에 환경 변수를 추가 할 수도 있습니다 . 이는 PATHcrontab의 모든 작업에 적용됩니다.

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:
*/1 * * * * /usr/sbin/ipsec auto --status

관련 정보