[Linux] Schedule Task (Crontab)

반응형

이번 글에서는 Linux 에서 Crontab 을 사용해 Task 를 Schedule 하는 방법에 대해 알아보겠습니다.

1. Schedule Task (Crontab)

crontab 을 사용하면 손쉽게 특정 task 를 지정된 시간에 수행하도록 schedule 할 수 있습니다.

이때 cron job 은 scheduled 된 task 를 의미하며. 주기적으로 특정 시간에 맞추어 실행되어야 하는 작업들을 cron job 으로 등록해 사용하면 유용합니다.

예를 들어.. 매일 새벽 06시에 전날의 log 파일을 모두 삭제해주는 cron job 도 생각해볼 수 있습니다.

1-1) edit crontab

실제로 시스템에 cron job 을 등록하기 위해선 crontab 에 schedule 정보를 입력해야 하며, 입력 format 은 다음과 같습니다.

crontab 을 수정하기 위해 다음과 같이 명령어를 입력 후

crontab -e 

내용으로 다음과 같이 입력 후 저장하면

0 7 * * 2 echo "hello this is tuesday" 

매주 수요일 새벽 07:00 마다 echo "hello this is tuesday" 라는 명령어가 실행되게 됩니다.

위와 같이 간단한 명령어 이외에도 복잡한 script.sh 를 작성해 놓고..

특정 시간마다 해당 스크립트가 실행될 수 있도록 등록할 수 도 있습니다.

0 7 * * 2 ./deleteLog.sh

주요 예시는 다음과 같습니다.

1-2) list crontab

이때 주의점은 crontab 은 각 사용자 별로 등록한다는 점 입니다.

위의 예시에서 저는 'root' 사용자로 crontab 을 등록했기 때문에

아래의 명령어로 등록되어 있는 crontab list 를 확인하면

crontab -l

다음과 같이 정상적으로 등록된 cron task 를 확인할 수 있지만

만약 다른 사용자인 'ec2-user' 로 접속해 동일한 명령어로 확인하면

다음과 같이 등록된 cron task 이 없는 것을 확인할 수 있습니다.

1-3) remove crontab

만약 등록되어있는 모든 crontab 의 task 를 삭제하고 싶을 경우 다음과 같이 입력합니다.

crontab -r

삭제 후 crontab list 를 확인해보면 아무것도 존재하지 않는 것을 확인할 수 있습니다.


반응형

'Linux' 카테고리의 다른 글

[Linux] IP Address  (0) 2021.03.08
[Linux] Hostname  (0) 2021.03.08
[Linux] Process Monitoring (Top)  (0) 2021.03.06
[Linux] Process Status (PS)  (0) 2021.03.06
[Linux] Word Counting (WC)  (0) 2021.03.06

댓글

Designed by JB FACTORY