Tag: bash 스크립트 자동 실행

bash 스크립트 자동 실행

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