cron을사용하여스크립트자동실행하는법








cron 사용법 이해하기

안녕하세요, MJ입니다. 오늘은 리눅스에서 cron을 사용하여 스크립트를 자동으로 실행하는 방법에 대해 알아보겠습니다. cron은 주기적인 작업을 자동으로 수행할 수 있도록 도와주는 유틸리티로, 시스템 관리 및 자동화에 매우 유용합니다. 이번 포스팅에서는 cron의 기본 개념과 사용법을 실습해 보겠습니다.

1. cron이란?

cron은 유닉스 계열 운영체제에서 주기적인 작업을 수행하기 위한 프로세스입니다. 사용자는 cron을 통해 특정 시간에 특정 스크립트나 명령어를 자동으로 실행할 수 있습니다. 예를 들어, 매일 특정 시간에 백업 스크립트를 실행하거나, 매주 리포트를 생성하는 등의 작업을 자동화할 수 있습니다.

2. cron의 구성 요소

cron은 다음과 같은 주요 구성 요소로 이루어져 있습니다:

  • crontab: 사용자가 cron 작업을 설정하는 파일입니다.
  • cron daemon: crontab에 설정된 작업을 주기적으로 확인하고 실행하는 프로세스입니다.

3. crontab 파일 편집하기

crontab 파일을 편집하려면 다음 명령어를 사용합니다:

crontab -e

이 명령어를 입력하면 기본 텍스트 편집기가 열리고, 작업을 추가하거나 수정할 수 있습니다.

3.1 crontab의 형식

crontab 파일의 각 행은 다음과 같은 형식으로 작성됩니다:

분 시 일 월 요일 명령어

예를 들어, 매일 오전 3시에 스크립트를 실행하려면 다음과 같이 입력합니다:

0 3 * * * /path/to/script.sh

4. cron 작업 예제

이제 간단한 cron 작업을 설정해 보겠습니다. 아래의 스크립트는 현재 시간을 로그 파일에 기록하는 스크립트입니다:

#!/bin/bash
# log_time.sh

echo "현재 시간: $(date)" >> /var/log/current_time.log

4.1 스크립트 저장하기

위 스크립트를 log_time.sh라는 파일로 저장하고 실행 권한을 부여합니다:

chmod +x /path/to/log_time.sh

4.2 crontab에 작업 추가하기

이제 crontab 파일을 열고 다음과 같이 추가합니다:

*/5 * * * * /path/to/log_time.sh

위 작업은 매 5분마다 log_time.sh 스크립트를 실행합니다.

5. cron 작업 확인하기

설정한 cron 작업을 확인하려면 다음 명령어를 입력합니다:

crontab -l

이 명령어는 현재 사용자에 대한 모든 cron 작업을 나열합니다.

6. 로그 파일 확인하기

log_time.sh 스크립트가 실행되면 /var/log/current_time.log 파일에 기록이 생성됩니다. 로그 파일의 내용을 확인하려면 다음 명령어를 사용합니다:

cat /var/log/current_time.log

출력 결과는 다음과 비슷할 것입니다:

현재 시간: Thu Feb 22 12:00:00 UTC 2025
현재 시간: Thu Feb 22 12:05:00 UTC 2025
현재 시간: Thu Feb 22 12:10:00 UTC 2025

7. 결론

이번 포스팅에서는 cron을 사용하여 리눅스에서 스크립트를 자동으로 실행하는 방법을 배워보았습니다. cron을 활용하면 반복적인 작업을 자동화하고, 시스템 관리의 효율성을 높일 수 있습니다. 다양한 작업을 cron으로 자동화하여 시스템을 보다 효과적으로 운영해 보세요.

읽어주셔서 감사합니다. 다음 포스팅에서 만나요!