맥북에서 파이썬 코드 자동으로 실행하는 방법

🏷️ Mac

맥북에서 반복적인 작업을 수행하다 보면 파이썬 스크립트를 특정 시간마다 자동 실행이 필요할 수 있습니다. 예를 들어 서버 상태 점검, 로그 수집, 데이터 백업, 웹사이트 모니터링과 같은 작업은 수동으로 실행하기보다 정해진 시간에 자동으로 동작하도록 설정하는 것이 효율적입니다.

macOS에서는 이러한 자동화를 위해 여러 가지 방법을 제공하며, crontab, launchd, Automator를 활용하면 안정적으로 파이썬 코드를 자동 실행할 수 있습니다.

launchd나 Automator는 크론탭에 비해 설정 과정이 다소 복잡하고 진입 장벽이 높아 실용성이 떨어질 수 있습니다.

따라서 이 글에서는 보다 간단하고 직관적인 크론탭 방식을 중심으로, schedule.py 예제를 기준으로 맥북에서 파이썬 코드를 자동 실행하는 대표적인 방법을 살펴보겠습니다.

예제 파일 schedule.py 준비

자동 실행을 설명하기 위해 간단한 예제 파일을 만들어보겠습니다.

# schedule.py
from datetime import datetime

with open("run_log.txt", "a") as f:
    f.write(f"실행됨: {datetime.now()}\n")

이 스크립트는 실행될 때마다 현재 시간을 run_log.txt에 기록합니다.

macOS 크론탭(crontab)으로 py 자동 실행하기

cron은 유닉스 계열 시스템의 기본 작업 스케줄러로, 특정 시간에 명령을 자동 실행하도록 설정할 수 있습니다.

크론탭을 편집하기 위해 터미널에서 아래 명령어를 실행합니다.

crontab -e

크론탭에 파이썬 실행 스케줄 등록

크론탭에 파이썬 실행 파일 등록

VI 에디터와 동일한 인터페이스로 크론탭 편집 화면이 열립니다.

i 키를 눌러 insert로 전환한 다음 아래 문법과 같이 실행 스케줄을 추가합니다. 예로, 매일 오전 6시와 오후 6시에 실행하려면 다음과 같이 추가합니다.

0 6,18 * * * /usr/bin/python3 /Users/사용자이름/schedule.py

편집을 마친 후, :wq를 차례대로 입력해 설정을 저장하고 편집 화면을 빠져나옵니다.

크론 시간 형식은 아래와 같은 순서이며 예시를 참고해서 자동 실행 날짜를 사용자의 편의에 맞게 설정해 보시길 바랍니다.

분 시 일 월 요일

예시

  • */10 * * * * → 10분마다 실행
  • 0 0 * * * → 매일 자정 실행
  • 0 9 * * 1-5 → 평일 오전 9시 실행

크론탭의 장점은 가볍고 빠르며 리눅스와 동일한 방식으로 사용됩니다. 때문에 서버를 운영해 본 경험이 있다면 맥북에서도 어렵지 않게 자동화를 할 수 있습니다.

파이썬 환경변수 확인

파이썬 환경변수 확인

파이썬 실행 경로는 기본적으로 /usr/bin/python3이지만, 설치 환경이나 가상환경 사용 여부에 따라 경로가 달라질 수 있습니다.

따라서 크론탭을 작성하기 전에 터미널에서 which python3 명령어로 실제 실행 경로를 확인한 후, 해당 절대 경로를 사용해 설정하는 것이 좋습니다. 필자의 경우 아래와 같은 경로에 파이썬이 설치되어 있었습니다.

/Library/Frameworks/Python.framework/Versions/3.10/bin/python3

스케줄 확인 및 테스트

크론탭 스케줄에 파이썬 등록 확인

크론탭 설정을 마친 후 crontab -l 명령어를 사용해서 크론탭에 등록된 스케쥴을 목록으로 확인할 수 있습니다.

만일 크론탭 설정과 파이썬 스크립트가 제대로 맞물려 작동하는지 확인하고 싶다면 테스트용으로 분마다 실행되도록 아래처럼 추가한 뒤 실행 상황을 확인 후 제거하면 되겠습니다.

* * * * * * /usr/bin/python3 /Users/사용자이름/schedule.py

마치며

맥북에서 파이썬 코드를 자동 실행하는 방법은 여러 가지가 있지만, 실제로 사용해 보면 크론탭만으로도 대부분의 자동화 요구를 충분히 해결할 수 있습니다. 설정이 간단하고 동작 방식이 직관적이며, 문제 발생 시 원인 파악과 수정이 쉬워 실무 환경에서도 안정적으로 활용할 수 있다는 점이 큰 장점입니다.

특히 반복적인 점검 작업, 로그 수집, 백업 스크립트, 모니터링 프로그램처럼 정해진 시간에 실행되어야 하는 작업은 크론탭을 활용해 자동화하면 작업 효율을 크게 높일 수 있습니다.

복잡한 도구를 억지로 도입하기보다, 자신의 작업 환경에 맞는 간단하고 확실한 방법을 선택하는 것이 장기적인 운영 측면에서도 더 합리적인 선택이 될 수 있습니다.

Automatorlaunchd파이썬

저자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
올바른 이메일 주소를 입력해주세요.

같은 카테고리 글