본문 바로가기
IT/리눅스

리눅스 명령어-3 (sleep, crontab)

by 노오-력 2023. 1. 14.

 

1. 특정 시간만큼 재우기

$ sleep n           n=재울 초 만큼 숫자

 

1-1. 초,분,시,일 단위로 재우기

$ sleep 1d 1h 1m 1s

:: 각 생략 가능

ex) 2분동안 정지한 후, 'hello world!' 라고 표시하기

$ sleep 2m; echo 'hello world!'

 

 

 

2. 지정한 시각마다 명령어 실행하기    

리눅스를 비롯한 유닉스 계열 OS는 지정한 시각이나 정기적으로 명령어를 실행하는 cron 프로그램이 존재한다.

crontab 명령어는 사용자가 cron을 설정할 때 사용하는 명령어이다.

 

~/.crontab 파일을 생성해서 아래와 같은 내용을 입력한다.* * * * * echo "`date`: executed automatically." >> $HOME/crontest.txt
7 * * * * echo "`date`: 3 min." >> $HOME/crontest.txt

 

파일 형식은 다음과 같다.

분 시 일 월 요일 명령어1

분 시 일 월 요일 명령어2

....

분 시 일 월 요일 명령어n

 

cron설정 파일로 등록하기

$ crontab [등록할 설정파일]

ex)
$ crontab ~/.crontab

 

 

 

2-1. 등록된 실행 시각 및 명령어 표시

$ crontab -l

 

2-2. 현재 cron 등록된 내용 취소

$ crontab -r

 

2-3. xxx 사용자의 cron을 수정하기 (슈퍼유저 권한 필요 :: # 표시는 슈퍼유저 사용자일 경우 표시됨)

# crontab -u xxx

 

2-4. xxx 사용자가 등록한 cron 내용을 표시

# crontab -u xxx -l

 

 

 

/etc/cron.allow 파일과 /etc/cron.deny 파일로 cron 명령어 제약 사항을 관리할 수 있다.

cron.allow 파일에는 한 줄에 하나씩 cron 명령어 사용을 허가할 사용자 명,

cron.deny 파일에는 거부할 사용자 명을 작성한다.

두 파일 모두 슈퍼유저 권한으로 편집할 수 있다.