만족

[Ubuntu] Crontab을 이용해 특정 Task 자동화시키기 본문

[Ubuntu] Crontab을 이용해 특정 Task 자동화시키기

Ubuntu Satisfaction 2021. 11. 11. 11:26

Crontab

 

Crontab은 특정 시간에 특정 작업을 트리거할수 있게 해 주는 명령어이다.

 

https://jdm.kr/blog/2

 

리눅스 크론탭(Linux Crontab) 사용법 :: JDM's Blog

* 이 포스팅은 네이버 블로그에서 작성(2013.04.01)한 내용을 옮겨온 것입니다. 오늘은 리눅스 크론탭에 대해 알아볼까 합니다. 음, 윈도우에서는 스케줄러와 비슷하다고 보면 되겠네요. "특정 시간

jdm.kr

위 링크를 참조하면 된다.

 

//root 권한이 필요한 작업일 경우
sudo crontab -e
//일반 권한이 필요한 작업일 경우
crontab -e

필요한 명령어에 따라 위 명령어로 크론탭을 추가할 수 있다.

 

맨 아래줄에 아래와 같은 서식으로 작성한다

# 분 시 일 월 요일(0-7;0=일요일) [커맨드]

# ex: 매주 월요일 0시 0분에 ls명령어 실행 
0 0 * * 1 ls

# 매분마다 ls 명령어 실행
* * * * * ls

자세한 설명은 링크를 참조하자.

 

이제 crontab으로 원하는 task를 자동화할 수 있다.

 

crontab -l

이 명령어를 이용하면 설정된 크론탭 정보를 볼 수 있다.

 

crontab -e 했을 때 표시되는 정보와 동일하다.

 

차이는 수정이 가능하냐, 불가능하냐정도이다.

 

crontab -r

설정된 crontab정보를 모두 제거한다.

 

crontab -e 에서 모든 라인을 삭제하는것과 동일하다.

 

변경 후에는 반드시 cron을 재시작해야 반영된다

sudo service cron restart

 

메모리가 부족하다면?

나 역시 이 문제로 계속 고민했었다.

 

2주마다 돌려야 하는 Task가 있는데, 이게 램을 은근히 많이 먹어서 서버에서 돌리면 다운되는 일이 잦아

로컬에서 작동시키고 결과값만 서버로 전송하는 방식을 사용했었다.

 

하지만 Memory Swap을 사용하면 실제 물리 메모리의 양 보다 더 많은 메모리를 사용할 수 있게 된다.

 

https://satisfactoryplace.tistory.com/229?category=819497 

 

[Ubuntu] Memory Swap 활성화

aws lightsail 을 사용 중 메모리 사용률이 100%에 매우 근접하게 되면 시스템이 아예 서버리는 문제가 발생되었다. (그래프가 끊긴 시점에서 전혀 서버가 응답하지 않았다) 특히 크롤링 작업을 할 때

satisfactoryplace.tistory.com

 

Crontab과 Swap memory를 활용하여 다시 그 Task를 서버에서 자동으로 작동시킬 수 있었다.



Comments