우분투(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
파일로 작성한 후 위 방법대로 등록하면 안정적으로 자동 실행됩니다.
Leave a Reply