crontab은 알람 같은 명령어이다. 지정을 한 시간, 날짜, 주기마다 특정 지정 명령어를 반복 수행시켜주는 명령어이다.
이 명령어를 사용하면 특정 작업을 반복해야 할 경우 유용하게 사용 할 수 있으며, 보안 측면에서 중요한 명령어 중 하나이다. 공격자가 특정시기에 이 명령어를 사용해 악의적인 행위를 발생시킬 수 있고, 방어자 입장에서는 이 명령어를 사용해 주기적으로 업데이트를 실행하거나 특정 파일을 탐지해 제거할 수 있다.
비슷한 명령어로는 at가 있는데 차이점을 들면 crontab은 일시적이지 않고, 등록되면 해당 등록정보로 계속 실행되지만 at는 일회성 명령어라는 차이가 있다.
저장 위치 : /etc/crontab
실행 시 로그파일 위치 : /var/log/cron
기본적인 명령어는 아래 표와 같다.
crontab -e | crontab을 등록하는 명령어이다. 만약 vi로 편집을 하고싶다면 export VISUAL=vi; crontab -e 명령을 입력 하면 vi로 편집 할 수 있다. vi대신에 다른 편집기 넣으면 해당 편집기로 crontab 수정이 가능하다. |
crontab -r | crontab 작업을 제거하는 명령어이다. |
crontab -l | crontab의 list(작업스케출)을 확인하는 명령어이다. |
crontab 입력 시 크게 분, 시, 일, 월, 요일, 명령 이렇게 6개의 필드로 나눌 수 있다.
'*' 기호는 all 값이다 즉 모든 값을 의미한다.
값의 범위는
분 : 0~59
시 : 0~23이다
월 : 1~12
요일 : 0(일)~6(토)
간단한 예시를 들면,
3 * * * * init 6
-모든 시, 일, 월, 요일 관계없이 3분에 init 6(reboot) 명령어 실행
15/* * * * * init 6
-모든 시,일,월,요일 관계없이 매 15분마다 init 6(reboot) 명령어 실행
5 14 10,20 * * sudo apt-get update
-매달 10일, 20일 오후 2시 30분에 update 실행
0 15 * * 1-5 ls -l
-매달 매월 월~금 오후 3시 정각에 ls -l 명령어 실행
'Linux' 카테고리의 다른 글
리눅스 부팅순서 (0) | 2020.08.05 |
---|---|
리눅스 패스워드 정책 설정(복잡도 설정) (0) | 2020.08.04 |
리눅스 각종 log의 위치와 명령어 (0) | 2020.08.04 |
리눅스 inode와 블록관리방법 (0) | 2020.08.04 |
리눅스 좀비프로세스 (0) | 2020.08.04 |