우분투에서 Crontab으로 매월 1일 오전 7시 5분에 sh 파일 자동 실행하는 방법 (Crontab 설정 방법)

우분투(Ubuntu)에서 특정 시간에 .sh 파일(셸 스크립트)을 자동으로 실행하고 싶으신가요? 이 글에서는 Crontab을 이용해 매월 1일 오전 7시 5분에 자동 실행되도록 설정하는 방법을 자세히 안내드립니다.


주요 키워드

  • 우분투 자동 실행
  • crontab 사용법
  • Ubuntu 스케줄러
  • sh 파일 실행
  • 리눅스 스크립트 예약 실행

Crontab으로 자동 실행 설정하기

터미널에서 다음 명령어로 crontab 편집기를 엽니다:

crontab -e

그 후, 아래 줄을 추가하세요:

5 7 1 * * /path/to/your/script.sh

예를 들어 /home/user/backup.sh 파일을 실행하려면:

5 7 1 * * /home/user/backup.sh

Crontab 시간 설정 설명

필드의미
분 (Minute)실행할 분5
시 (Hour)실행할 시각7
일 (Day of Month)매월 몇 일1
월 (Month)어떤 달에 실행* (매월)
요일 (Day of Week)특정 요일 지정* (모든 요일)

스크립트 실행 권한 부여

스크립트 파일에 실행 권한이 없으면 실행되지 않습니다. 다음 명령어를 실행해 주세요:

chmod +x /path/to/your/script.sh

환경 변수 설정 (중요)

Crontab은 일반 로그인 세션과 다르게 제한된 환경에서 실행되므로 PATH를 명시하는 것이 좋습니다. 스크립트 상단에 다음을 추가하세요:

#!/bin/bash
export PATH=/usr/bin:/bin:/usr/local/bin

실행 로그 저장 방법 (선택 사항)

스크립트 실행 결과를 확인하고 싶다면 로그 파일을 지정할 수 있습니다:

5 7 1 * * /path/to/your/script.sh >> /path/to/logfile.log 2>&1

자주 묻는 질문 (FAQ)

Q. Crontab 설정 후에도 실행이 안 돼요. 왜 그런가요?

  • 경로가 절대경로로 설정되어 있는지 확인하세요.
  • 스크립트에 실행 권한이 있는지 확인하세요 (chmod +x).
  • 필요한 환경 변수 설정이 누락되었을 수 있습니다.

Q. Crontab 실행 결과를 확인하려면 어떻게 하나요?

  • 로그 파일로 리디렉션하거나, mail 설정이 되어 있다면 이메일로 결과가 전달됩니다.
  • grep CRON /var/log/syslog 명령어로 시스템 로그에서 확인할 수 있습니다.

결론

우분투에서 crontab을 사용하면 복잡한 작업도 자동화할 수 있습니다. 매월 정기적으로 실행해야 하는 백업, 로그 정리, 서버 유지보수 작업을 .sh 파일로 작성한 후 위 방법대로 등록하면 안정적으로 자동 실행됩니다.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *