재미로하는 공부

리눅스 시스템 자동화하기 (cron)

lowcodingpython 2022. 3. 21. 09:00
반응형
  • 관리자 입장에서 원하는 작업을 예약해 두고 정해진 시간에 주기적으로 반복하여 실행할 수 있습니다.
  • Cron 데몬이 설치되어 있어야 사용 가능하며, 대부분의 리눅스에서는 기본적으로 설치가 되어 있습니다.
  • 서버의 백업이나 로그를 주기적으로 관리해야 할 때 유용
  • /var/log/cron 파일을 통해 cron 데몬의 로그를 확인 가능

 

개인적인 이야기이지만 리눅스 마스터 시험 볼 때 엄청 어질어질했던 명령어입니다.

아니 이거인 거 같은데 틀리고... 흠 조금 헷갈리는 부분들이 있어서 많이 실습해보고 테스트하시는 것을 추천드립니다.


 

#ps -ef | grep crond 

해당 명령어로 먼저 cron 데몬이 실행 중인지 확인을 합니다.

cron-데몬-실행확인
ps -ef 명령어로도 확인 가능합니다.

사용 방법

#crontab [options]

옵션                                  설명
-u [user name] 작업을 실행시킬 유저명을 설정
-l 현재 사용자가 crontab에 등록해둔 작업 리스트 출력
-r 현재 사용자가 crontab에 등록해둔 작업을 핫게
-e crontab 작업을 등록

작업 등록 시 사용하는 형식

분    시간   일    월   요일   명령 

: 0 ~ 59

시간 : 0 ~ 23

: 1 ~ 31 

: 1 ~12

요일 : 0(일요일)  ~ 6(토요일)

월요일 (1), 화요일(2), 수요일(3), 목요일(4), 금요일(5)

명령 : 실행할 명령어 or 실행할 파일


1. 작업을 등록하기 

#crontab -e

*/5 * * * * echo '문자열'

위의 형식으로 설정하면 어떻게 될까요?

5분에 한 번씩 설정 문자열을 출력을 하게 됩니다~

자동화-등록작업-내용

 

2. 작업 확인

# crontab -l

간단하게 작업한 내용을 확인이 가능합니다. 

cron-확인

3. 작업 삭제

#crontab -r

해당 명령어는 옵션이 많이 없어서 실습하기에 좋습니다. 

다만 설정을 어떻게 하느냐에 따라서 조금 헷갈리는 부분이 생기실 수 있습니다.

cron-삭제

 


/etc/crontab

  • 시스템에 주기적으로 해주어야 할 작업이 수행될 수 있도록 기본적으로 설정되어 있는 파일 
  • 사용자와 무관한 시스템 자체에도 작업을 설정 가능
  • /etc/cron.deny 파일을 통해서 특정 사용자에게 crontab 명령을 실행할 수 없게 제한 가능

crontab-설정파일

 

자동화는 반복적인 작업에 유용합니다. 

필수로 알고 계시면 좋습니다.

반응형