지정된 시간에 맞추어 주기적으로 수행되는 계획된 작업을 수행할 때 cron 서비스를 이용한다.
cron 서비스를 이용하면 시스템 관리 작업을 자동화할 수 있다.
실제 cron 서비스는 시스템 부팅후부터 계속 수행되고 있는 crond라는 데몬 프로그램이 제공한다.
이 crond 데몬은 1분 간격으로 시스템 or 일반 사용자의 crontab 파일의 내용을 검사하여 정해진 시간에 작업을 수행한다. crontab 파일의 내용은 원하는 시간에 주기적으로 수행되어야 하는 cron 작업의 리스트를 뜻한다.
관리자 만이 수정할 수 있는 시스템의 crontab파일은 /etc/conrtab 파일과 /etc/cron.d/디렉터리에 존재하는 파일들을 말한다.
ex) 01 * * * * root run-parts /etc/cron.example
해당 예시는 매 요일 매달 매일 매시 1분에 /etc/cron.example 디렉터리 아래의 파일들을 실행하는 것을 의미한다.
실행 파일이나 스크립트 파일을 해당 디렉터리에 넣어두면 한 시간 간격으로 매시 1분마다 해당 파일이 실행된다.
*(애스터 리크)는 배번을 의미하며, 범위를 표시하기 위한 대시와 콤마 그리고 지정된 범우에서 주기를 표시하기 위해 슬래시를 사용할 수 있다.
항목 | 설명 |
분 | 0~59 에서 설정한다. |
시 | 0~23 에서 설정한다 |
날짜 | 0~31 사이에서 설정한다. |
달 | 1~12 사이 또는 jan,feb 등으로 설정한다. |
요일 | 0~7 사이 또는 sun,fri 등으로 설정한다. 0과7은 일요일 |
사용자 이름 | 명령을 수행할 사용자를 지정한다. 생략 가능 |
명령 | 실행할 명령을 작성한다. |
관지라 뿐만아니라 일반 사용자도 자신만의 cron 작업을 자신의 crontab 파일에 등록할 수 있는데 이때 crontab 명령을 사용해야 한다. 실제 개별 사용자마다 /var/spool/cron/username으로 설정 파일이 만들어지지만 직접 수정할 수 없기 때문이다.
crontab [options]
options | ddescription |
-l | crontab 파일에 등록된 작업 리스트를 출력한다. |
-e | crontab 파일을 편집하여 작업을 등록하거나 수정한다. |
-r | crontab 파일을 삭제한다. |
-u user | 지정된 사용자의 crontab 파일을 사용한다. |
crontab -e 를 수행하면 vi편집기가 열리며 한 라인에 하나씩 등록한 후 저장하면 된다.
일회성으로 특정 시간에 작업을 예약하려면 at 명령을 사용한다. at 명령느 표준 입력 장치나 파일에서 작업을 읽어 들인다. Ctrl + d로 등록을 마칠 수 있다.
'Linux' 카테고리의 다른 글
Firewall (0) | 2021.02.22 |
---|---|
[Linux] 파일 시스템 (0) | 2021.02.04 |
[Linux] 프로세스의 상태 (0) | 2020.11.21 |
[Linux] 프로세스 (0) | 2020.11.21 |
[Linux] 파티션 관리 (0) | 2020.11.18 |
댓글