개발/알아두면 쓸데 있을까?

리눅스 crontab 실행 안될 때 (비밀번호 만료로 cron 배치 멈춤 문제)

IT 하는 문과생 2021. 11. 30.

 

리눅스 crontab 실행 안될 때 – 비밀번호 만료 문제

이번에 서버 배치를 모니터링하던 중 예상치 못한 상황을 겪었다.
전날까지 정상적으로 실행되던 배치가 08시 이후부터 실행되지 않는 현상이 발생한 것이다.
처음에는 crontab 설정이나 스크립트 문제라고 생각했지만, 서버에 직접 접속해 보니 다음과 같은 메시지가 나타났다.

Your password has expired.
You must change your password now.

 

비밀번호 만료 시 cron 배치가 멈추는 이유

보안을 위해 리눅스 서버에서는 일정 기간마다 비밀번호 변경 정책(password aging)을 적용하는 경우가 많다.
이때 비밀번호가 만료된 상태에서는 다음과 같은 문제가 발생할 수 있다.

  • 사용자 로그인 시 비밀번호 변경 요구
  • 일부 서비스 실행 제한
  • crontab 배치 실행 중단

 비밀번호가 만료된 계정으로 등록된 cron 작업이 정상적으로 실행되지 않을 수 있다.

 

해결 방법

이유가 명확하니 해결 방법도 단순하다.

1. 서버 접속 후 비밀번호 변경(passwd)
2. 배치 스크립트 정상 동작 여부 확인
3. 필요 시 배치 수동 실행

 

 

참고

리눅스 서버 운영 시 다음과 같은 정책이 적용된 경우가 많다.

비밀번호 만료 정책 (password aging)
계정 잠금 정책
로그인 제한 정책

이러한 정책이 설정되어 있는 경우 cron 배치가 정상적으로 동작하지 않을 수 있으므로 주기적으로 확인하는 것이 좋다.

 

마무리

이번 경험을 통해 알게 된 것은 crontab이 실행되지 않는 원인이 단순한 스크립트 문제가 아닐 수도 있다는 점이다. 만약 리눅스 서버에서 cron 배치가 갑자기 실행되지 않는다면 다음 항목을 함께 확인해보는 것이 좋다.

crontab 설정
로그 파일
서버 계정 비밀번호 만료 여부

혹시 비슷한 문제를 겪는 사람이 있을까 하여 기록으로 남긴다.

반응형

댓글