강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

주기적이고 반복적인 cron설정작업 활용 2편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

주기적이고 반복적인 cron설정작업 활용 2



제작 : 리눅스포털 수퍼유저코리아(www.superuser.co.kr) 박성수


ㅇ 본 자료의 자세한 모든 정보는 http://www.superuser.co.kr/linuxcommandbible/ 에서 확인하시기 바랍니다.

ㅇ 본 자료의 수정 및 편집은 허용되지않습니다.






매시 1회 자동실행하기위한 시스템 크론설정


01 * * * * root run-parts /etc/cron.hourly


/etc/crontab파일내에 존재하는 이 내용은 매일 매시 01분마다 /etc/cron.hourly디렉토리내에 존재하는 파일들을 실행하게 됩니다.


, /etc/cron.hourly 디렉토리에서 실행되는 파일들은 다음과 같습니다. , 매시 01분마다 실행될 내용이 /etc/cron.hourly디렉토리에 저장되어 있는 것입니다. 아래 파일들은 여러분들께서 직접 그 내용을 확인해 보시기 바랍니다.


20061202_TD_cron_2_html_m5b308bb3.png


만약 여러분들께서 매시 01분마다 실행시키고자 하는 내용이 있다면 /etc/cron.hourly디렉토리에 스크립트파일로 만들어서 넣어두시면 됩니다.


매일 1회 자동실행하기위한 시스템 크론설정


02 4 * * * root run-parts /etc/cron.daily


/etc/crontab파일내에 존재하는 위의 내용은 매일 새벽402분마다 /etc/cron.daily디렉토리내에 존재하는 파일들을 실행하게 됩니다. , 매일 한번씩 실행될 내용이 저장될 디렉토리이며 이 디렉토리에서 실행되는 파일들은 다음과 같습니다.


20061202_TD_cron_2_html_eba69db.png


만약 여러분들께서 매일 한번씩 실행시키고자 하는 내용이 있다면 /etc/cron.daily 디렉토리에 스크립트파일로 만들어서 넣어두시면 됩니다.


매주 1회 자동실행하기위한 시스템 크론설정


22 4 * * 0 root run-parts /etc/cron.weekly


/etc/crontab파일내에 존재하는 위의 내용은 매주 일요일 새벽 422분마다 /etc/cron.weekly디렉토리내에 존재하는 파일들을 실행하게 됩니다. , 매주 한번씩 실행될 내용이 저장된 디렉토리이며 이 디렉토리에서 실행되는 파일들은 다음과 같습니다.


20061202_TD_cron_2_html_4b681327.png


만약 여러분들께서 매주 한번씩 실행시키고자 하는 내용이 있다면 /etc/cron.weekly 디렉토리에 스크립트파일로 만들어서 넣어두시면 됩니다.


매월 1회 자동실행하기위한 시스템 크론설정


42 4 1 * * root run-parts /etc/cron.monthly


/etc/crontab파일내에 존재하는 위의 내용은 매월 1일 새벽 442분마다 /etc/cron.monthly디렉토리내에 존재하는 파일들을 실행하게 됩니다. , 매월 한번씩 실행될 내용이 저장된 디렉토리이며 이 디렉토리에서 실행되는 파일들은 다음과 같습니다.


20061202_TD_cron_2_html_m6958e751.png


만약 여러분들께서 매월 한번씩 실행시키고자 하는 내용이 있다면 /etc/cron.monthly 디렉토리에 스크립트파일로 만들어서 넣어두시면 됩니다.


이렇게 리눅스는 시스템에 꼭 필요한 주기적인 실행내용들을 /etc/crontab파일에 설정해 두고서 시스템 크론데몬인 crond에 의해 실행시키고 있습니다. 이 설정내용을 잘 활용한다면 시스템관리에 매우 효율적으로 활용할 수 있습니다.


, 지금까지의 크론(cron)에 대한 설명은 이미 시스템에 설정되어있는 크론설정(/etc/crontab과 관련디렉토리들)을 이용하는 방법이였습니다. 이어지는 설명과 예들은 crontab명령어를 이용하여 직접 크론(cron)을 설정하는 방법에 대한 설명입니다.




3: 일반사용자의 crontab명령어 사용허가 또는 제한하는 설정


/etc/ 디렉토리에는 cron.allow파일과 cron.deny파일이 존재할 수 있습니다. 리눅스 초기설정에는 이 두파일은 존재하지 않기 때문에 root만이 crontab명령어를 사용할 수 있습니다.

, /etc/ 디렉토리에 cron.allow파일과 cron.deny파일이 존재하지 않는다면 root만이 crontab명령어를 이용하여 cron설정을 할 수 있다는 의미가 됩니다.


만약 일반사용자에게도 crontab명령어를 이용할 수 있도록 하기 위해서는 /etc/cron.allow파일에 사용자의 ID를 등록해 주어야 합니다. 반대로 일반사용자의 crontab명령어사용을 제한하고자 한다면 /etc/cron.deny파일에 사용자의 ID를 등록해 주시면 됩니다.


리눅스 설치시에 이 두 파일은 기본생성되어 있는 파일이 아니므로 수퍼유저(root)가 필요하다고 판단할 때에는 직접 만들어 주시면 됩니다.


이제 예를 위하여 필자가 설정한 두 파일의 예를 보도록 하겠습니다. 아래의 예를 보시면 /etc/cron.allow파일의 내용을 확인하고 있습니다.


20061202_TD_cron_2_html_m2223d8b5.png


위의 /etc/cron.allow파일에 등록되어 있는 root, bible, locli 계정 사용자는 crontab명령어를 이용하여 개인적인 cron설정을 할 수가 있습니다.


아래는 crontab사용이 허용된 두 사용자 중 bible이라는 사용자로 로그인하여 crontab명령어를 사용하여 cron설정을 하기위해 “crontab -e”명령어를 사용하고 있는 예를 보인 것입니다.


20061202_TD_cron_2_html_m13daf390.png


, crontab명령어를 사용가능토록 허용하고자 한다면 /etc/cron.allow파일에 사용자의 ID를 위와 같이 등록하면 된다는 것을 설명하고 있는 것입니다. 참고로 /etc/cron.allow파일이 존재한다면 root라 하더라도 이 파일에 root를 등록해야만 crontab설정이 가능합니다.


위의 경우와는 반대로 crontab명령어의 사용이 허용되어 있지 않는 sspark이라는 사용자가 crontab명령어를 실행했을 경우에는 “You (sspark) are not allowed to use this program (crontab)”이라는 메시지와 함께 crontab명령어가 허용되지 않음을 알 수가 있습니다.


20061202_TD_cron_2_html_m25510ad8.png


앞서도 잠깐 언급하였지만 /etc/cron.allow파일과 /etc/cron.deny파일이 모두 존재하지 않는다면 오직 수퍼유저(root)만이 crontab 명령어의 사용이 가능하다는 것을 기억해 두시기 바랍니다.



리눅스포털 –수퍼유저코리아- www.superuser.co.kr


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,801 개
  • 현재 접속자 :  193 명