맥북에서 파이썬 코드를 자동 실행하려면 macOS 작업 스케줄러인 crontab에 실행 명령을 사용합니다.
crontab은 지정한 시간에 명령어를 자동으로 실행하는 유닉스 기반 스케줄러로 Python 스크립트를 정해진 시간마다 자동 실행할 수 있습니다. 예를 들어 서버 상태 점검, 로그 수집, 웹사이트 모니터링, 데이터 백업 같은 반복 작업을 자동화할 때 유용합니다.
macOS에서는 launchd나 Automator 같은 자동화 도구도 사용할 수 있지만 설정 과정이 비교적 복잡하기 때문에 간단한 스크립트 자동 실행은 crontab을 사용하는 것이 가장 빠르고 직관적인 방법입니다.
테스트용 파이썬 스크립트 만들기
crontab 자동 실행이 정상적으로 작동하는지 확인하기 위해 간단한 테스트용 파이썬 파일을 준비합니다.
예제 파일 이름 : 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 파일에 기록합니다. crontab 설정이 정상적으로 작동하면 지정한 시간마다 실행 로그가 계속 추가됩니다.
macOS crontab으로 파이썬 자동 실행 설정
crontab은 macOS와 리눅스에서 사용하는 기본 작업 스케줄러로 특정 시간에 명령어를 자동 실행할 수 있습니다.
cron 기반 스케줄러이기 때문에 Python 스크립트뿐 아니라 쉘 스크립트나 시스템 관리 명령도 자동 실행할 수 있습니다.
예를 들어 서버 상태 점검 스크립트, 로그 수집 프로그램, 웹사이트 모니터링 스크립트처럼 일정 시간마다 반복 실행해야 하는 작업은 crontab으로 자동화할 수 있습니다. 수동으로 스크립트를 실행하는 것보다 cron job을 이용해 스케줄을 등록하면 안정적으로 반복 작업을 처리할 수 있습니다.
crontab에 작업을 등록하려면 터미널에서 크론탭 편집 명령을 실행합니다.
crontab -e

편집기가 열리면 i 키를 누르고 실행할 시간과 명령어를 한 줄로 입력합니다.
0 6,18 * * * /usr/bin/python3 /Users/사용자이름/schedule.py
crontab 시간 형식은 다음 순서를 사용합니다.
분 시 일 월 요일
대표적인 cron 예시는 다음과 같습니다.
*/10 * * * * → 10분마다 실행
0 0 * * * → 매일 자정 실행
0 9 * * 1-5 → 평일 오전 9시 실행
편집을 마친 후, :wq를 차례대로 입력해 설정을 저장하고 편집 화면을 빠져나옵니다.
파이썬 실행 경로 확인하기
crontab에서는 Python 실행 파일의 절대 경로를 사용하는 것이 중요합니다. 환경 변수(PATH)가 터미널과 다르게 적용될 수 있기 때문입니다.

터미널에서 다음 명령어로 Python 경로를 확인합니다.
which python3
예를 들어 다음과 같은 경로가 출력될 수 있습니다.
/Library/Frameworks/Python.framework/Versions/3.10/bin/python3
이 경우 crontab 명령은 다음과 같이 작성해야 합니다.
0 6 * * * /Library/Frameworks/Python.framework/Versions/3.10/bin/python3 /Users/사용자이름/schedule.py
스케줄 확인 및 테스트
현재 등록된 cron 작업 목록은 다음 명령어로 확인할 수 있습니다.

crontab -l
설정이 제대로 동작하는지 확인하려면 테스트용으로 매분 실행 스케줄을 등록할 수 있습니다.
* * * * * /usr/bin/python3 /Users/사용자이름/schedule.py
정상적으로 작동하면 run_log.txt 파일에 실행 시간이 계속 기록됩니다. 테스트가 끝나면 해당 스케줄을 삭제하거나 원하는 시간으로 수정합니다.
crontab 작업 삭제 방법
등록된 cron 작업을 삭제하려면 crontab 편집 모드에서 해당 줄을 제거하면 됩니다.
crontab -e
편집 화면에서 작업 줄을 삭제하고 저장하면 해당 스케줄이 제거됩니다.
모든 cron 작업을 한 번에 삭제하려면 다음 명령어를 사용할 수 있습니다.
crontab -r
이 명령어는 현재 사용자 계정의 모든 cron job을 삭제합니다.
launchd와 crontab 차이
macOS에는 cron 외에도 launchd라는 작업 스케줄러가 있습니다. launchd는 macOS 시스템 서비스와 연동되는 공식 스케줄러이지만 설정을 위해 plist 파일을 작성해야 하기 때문에 구조가 복잡합니다.
간단한 자동 실행 작업은 crontab이 더 직관적이며 터미널에서 바로 설정할 수 있습니다. 반복적인 스크립트 실행이나 테스트 환경에서는 crontab이 가장 간단한 방법입니다.
마치며
맥북에서 파이썬 코드를 자동 실행하는 방법은 여러 가지가 있지만, 실제로 사용해 보면 크론탭만으로도 대부분의 자동화 요구를 충분히 해결할 수 있습니다. 설정이 간단하고 동작 방식이 직관적이며, 문제 발생 시 원인 파악과 수정이 쉬워 실무 환경에서도 안정적으로 활용할 수 있다는 점이 큰 장점입니다.
특히 반복적인 점검 작업, 로그 수집, 백업 스크립트, 모니터링 프로그램처럼 정해진 시간에 실행되어야 하는 작업은 크론탭을 활용해 자동화하면 작업 효율을 크게 높일 수 있습니다.
복잡한 도구를 억지로 도입하기보다, 자신의 작업 환경에 맞는 간단하고 확실한 방법을 선택하는 것이 장기적인 운영 측면에서도 더 합리적인 선택이 될 수 있습니다.

