안녕하세요.
리눅스 서버에서 자동 작업을 등록할 때 자주 쓰는 크론탭(Crontab),
그런데 아무 설정 없이 사용하면 기본 시간대가 UTC로 되어 있어서,
한국 시간과 9시간 차이로 실행되는 경우가 많아요.
오늘은 크론탭이 정확히 한국 시간(KST) 기준으로 작동하도록
서버 타임존을 바꾸고 크론 설정까지 마무리하는 방법을 알려드릴게요!
서버 타임존을 KST로 변경하는 방법
크론탭뿐만 아니라 서버 자체 시간을 KST로 맞춰야
모든 로그, 스케줄 작업이 한국 기준으로 정리되겠죠?
현재 타임존 확인하기
터미널에서 아래 명령어를 입력해보세요.
ls -al /etc/localtime
결과가 이렇게 나오면 현재는 UTC 기준입니다.
lrwxrwxrwx 1 root root 27 Feb 11 2024 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
한국 시간으로 변경
이제 타임존을 Asia/Seoul로 바꿔줍니다.
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
변경이 정상적으로 적용되었는지 확인합니다.
ls -al /etc/localtime
출력 결과가 다음과 같이 나오면 정상적으로 설정된 것입니다.
lrwxrwxrwx 1 root root 30 Mar 13 14:00 /etc/localtime -> /usr/share/zoneinfo/Asia/Seoul
정상 변경됐는지 확인
date
결과가 아래처럼 KST로 나오면 성공!
Thu Mar 14 14:10:02 KST 2025
또는 timedatectl
명령어로 확인해도 됩니다.
timedatectl
출력 예시:
Local time: Thu 2025-03-14 14:10:02 KST
Time zone: Asia/Seoul (KST, +0900)
혹시 여전히 UTC
로 나오면 설정이 적용되지 않은 거예요. 다시 링크를 확인해보세요!
크론 서비스 재시작은 필수!
타임존을 변경했으면 크론 서비스도 재시작해야
새 타임존을 따라가게 됩니다.
sudo systemctl restart cron
이걸 안 하면 이전 시간대(UTC) 기준으로 계속 실행돼요.
크론탭이 KST로 실행되는지 테스트하기
간단한 테스트 작업을 등록해볼게요. 아래 명령을 크론탭에 추가하세요.
* * * * * date > /opt/bitnami/wordpress/python/test_time.log
1분 정도 기다린 뒤 파일을 확인합니다.
cat /opt/bitnami/wordpress/python/test_time.log
출력 결과가 이렇게 나오면 성공!
Thu Mar 14 14:23:01 KST 2025
이제부터 등록하는 모든 크론 작업이 한국 시간 기준으로 정확히 실행됩니다.
요약 정리
- ✅ 서버 전체 시간 변경
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
- ✅ 크론 서비스 재시작
sudo systemctl restart cron
- ✅ 정상 적용 확인 테스트
* * * * * date > /경로/파일.log
이제 크론 자동화 작업이 시간 오차 없이 딱딱 맞게 돌아갈 거예요!
정확한 스케줄링이 중요한 분들은 꼭 적용해보세요.