cron
cron이란 리눅스 시스템을 다룰때 특정시간이 지나면 정기적으로 프로그램이 실행되도록 하는 명령어다.
cron 프로그램 작성법은 다음과 같다.
~ crontab -e
# 처음 실행하면 어떤 에디터로 편집할것인지 선택하는 화면이 나오며 편한 에디터를 선택하면 된다.
맨 아래에 프로그램을 작성하면 된다.
왼쪽부터 순서대로 (분/시간/일/월/명령프로그램)작성하면 된다.
내가 작성한 프로그램은 1분이 지날 때 마다 현재 시간을 date.log라는 파일에 작성하는 자동화 프로그램을 작성했다.
위와 같이 작성 후 ^x, 엔터를 누르면 프로그램이 저장되며 crontab -l 명령을 내리면 작성한 프로그램을 확인 할 수 있다.
이제 cron프로그램이 제대로 실행되는지 확인하기 위해 tail -f 명령어를 통해 확인 할 수 있다.
~ tail -f date.log
1분이 지나면 자동으로 업데이트가 되어야 하는데 그러지 않는다.
그 이유는 윈도우 기본 wsl 환경에 문제가 있다고 한다.
wsl에서 cron 안될때 해결법
검색을 해본결과 윈도우10,11 wsl 에 설치한 우분투 가상환경설정에 문제가 있는것을 알게 되었다.
다음 명령어를 통해 cron상태가 동작하고있는지 확인하자.
~ sudo service cron status
위의 결과로 cron이 실행되지 않는다고 해서 다음 명령어를 통해 해결 할 수 있다.
~ sudo ALL=NOPASSWD: /usr/sbin/service cron start
이렇게 cron이 동작하도록 설정을 변경 후 다시 로그를 확인해 보면 정상적으로 cron이 실행되는것을 알 수 있다.
참고자료
How to Launch Cron Automatically in WSL on Windows 10 and 11 (howtogeek.com)
'리눅스' 카테고리의 다른 글
[리눅스] 백그라운드, 데몬 프로세스 (0) | 2022.01.27 |
---|---|
[리눅스] 디렉토리 구조 & 파일찾기 (0) | 2022.01.26 |
[리눅스] 쉘 스크립트 맛보기 (0) | 2022.01.25 |
[리눅스] I/O Redirection (0) | 2022.01.24 |
[리눅스] 패키지 매니저(apt, wget, git) (0) | 2022.01.22 |