본문 바로가기

ETC

Crontab KST 설정

기본적으로 ubuntu의 경우 UTC, DST 등 KST가 아닌 시간설정이 되어 있다.

(ubuntu 20)

 

CLI로 tzselect,  편집기(vi, vim, gedit 등)를 통해 .bashrc or .zshrc에 TZ='Asia/Seoul'; export TZ와 같이 세팅하여 다시 CLI에서 date를 하여 KST가 설정되는 것을 확인할 수 있을 것이다.

 

리눅스 환경에서 작업 스케줄러로 사용되는 crontab의 경우 KST로 설정하여도 설정한 시간대에 실행이 되지 않는다면, crontab의 경우 이전 UTC, DST 등의 시간으로 설정이 되어 있기에 원하는 KST 시간대에 동작을 안할 수 있다.

 

이런 경우 다음과 같이 문제를 해결할 수 있다.

 

$ sudo dpkg-reconfigure tzdata #여기서 한번더 kst 설정을 해주자.

$ systemctl restart cron.service #cron.service 재시작

 

추가적으로 현재 개발중인 과정에서 zsh을 사용하여 자주 사용하는 명령어의 경우

~/.zshrc에 alias를 하고, 환경변수 export 설정을 해놓았다.

 

하지만 crontab의 경우 특정 사용자의 환경설정 파일의 내용으로 사용되는 것이 아니기에

/etc/environment 시스템 전체의 환경변수로 설정 사용하면 된다