화니's 블로그

주기적이고 반복적인 cron설정 본문

Linux

주기적이고 반복적인 cron설정

곰탱이화니 2008. 6. 17. 18:26
1 장: 주기적이고 반복적인 cron설정작업을 할 수 있는 crontab 개론

2 장: 시스템 크론데몬(crond)의 기본 동작원리 분석

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

4 장: “분, 시, 일, 월, 요일, 실행명령”순으로 cron설정하는 방법

5 장: crontab으로 설정한 개별사용자의 cron설정, 파일로 확인하기

6 장: root권한으로 root의 cron설정하는 방법

7 장: root권한으로 일반 사용자의 cron설정하는 방법

8 장: root권한으로 root의 cron설정내용 확인하는 방법

9 장: root권한으로 일반 사용자의 cron설정내용 확인하는 방법

10장: 일반사용자의 자기자신의 cron설정하는 방법

11장: 일반사용자의 cron설정 확인하는 방법

12장: root권한으로 root의 cron설정 삭제하기

13장: 일반계정사용자의 자기 자신의 cron설정 삭제하기

14장: root권한으로 일반계정사용자의 cron설정 삭제하기








1장 : 주기적이고 반복적인 cron설정작업을 할 수 있는 crontab 개론


리눅스 서버관리를 하는 서버관리자에게 있어서 crontab명령어 만큼 고마운 명령어는 없을 것입니다. 왜냐하면 직접 작업을 하지않아도 작업설정을 예약해두고 주기적으로 반복실행할 수 있기 때문입니다. 즉, 백업이나 서버점검등과 같은 주기적이고 반복적인 작업을 crontab명령어로 설정해두면 정해진 시간에 주기적으로 자동실행하기 때문에 우리 같은 서버관리자들에게는 얼마나 큰 위안과 힘이 되는지 모릅니다.


첨언한다면 crontab의 설정방법과 함께 쉘프로그램의 기본제작법을 익힌다면 여러분들은 바로 고급관리자로 인정받을 수 있을 것입니다. 이 책에서는 쉘프로그램에 대해서도 각각의 명령어편에서 다루고 있으므로 참고하시고 이번 장에서는 시스템의 크론설정에 대해서 실무적인 사례를 들어 그 설정법을 배워보도록 하겠습니다.


즉, 필자는 주기적인 작업을 할 수 있는 크론(cron)설정에 대해서 많은 질문을 받아왔는데 이번 기회에 시스템의 주기적이고 반복적인 작업설정을 하는 크론(cron)설정법의 실무적인 방법들과 사례를 위주로 살펴보도록 하겠습니다.


간략히 표현하면 crontab은 시스템의 주기적인 cron작업의 설정, 수정등을 하는 명령어입니다. 시스템에서 가장 중요한 데몬(daemon)중의 하나인 crond와 직접적인 관련이 있는 명령어로서 수퍼유저(root) 또는 일반사용자들의 주기적이고 반복적인 특정 작업의 자동화를 설정하는 명령어입니다.


이 명령어로 설정한 작업이 주기적으로 실행되려면 crond데몬이 실행상태에 있어야합니다. 그리고 crond데몬은 /etc/rc.d/init.d/crond스크립트에 의해 시작, 종료, 재시작될 수 있습니다.


따라서 crontab이라는 명령어를 정확하게 이해하고 사용하려면 다음과 같은 데몬과 파일들을 정확하게 이해하셔야 합니다.


- crond 데몬

- /etc/crontab 파일

- /etc/rc.d/init.d/crond 스크립트

- /var/spool/cron디렉토리내의 크론설정파일들


명령어위치 : /usr/bin/crontab


사용형식

       crontab [ -u 사용자ID ] 파일
       crontab [ -u 사용자ID ] { -l | -r | -e }


이번 장에서는 root와 개별 사용자들의 cron설정방법과 수정,삭제, 확인하는 방법, 그리고 위의 파일들이 유기적으로 상호작용하여 작동하는 시스템 cron설정의 전반적인 내용들에 대해서 알아볼 것입니다.








2장 : 시스템 크론데몬(crond)의 기본 동작원리 분석



시스템 크론데몬 crond 실행 확인하기


crontab명령어의 사용법을 설명하기에 앞서 시스템에서 cron이 어떻게 동작하는가를 알아야합니다. 시스템에서 cron이 제대로 동작하기 위해서는 crond라는 크론데몬(cron daemon)이 동작하고 있어야만 합니다.


먼저 ps명령어로 crond가 동작중인가를 확인한 예입니다.

아래의 결과를 보시면 crond라는 데몬이 root권한으로 실행되어 있음을 알 수가 있습니다.



이렇게 crond가 동작중이면 시스템에 기본적으로 설정된 cron설정과 root의 cron설정, 그리고 개별사용자의 cron설정들이 정상적으로 동작하게 됩니다.


시스템 크론데몬 crond 실행, 중지, 재시작하기


시스템 크론데몬인 crond를 실행,중지,재시작하려면 /etc/rc.d/init.d/crond스크립트를 이용합니다.


먼저 crond를 시작하기 위해서는 “/etc/rc.d/init.d/crond start”라고 하시면 됩니다. 거의 대부분 리눅스 시스템이 부팅이 되면서 ntsysv 설정항목에 의해 crond가 시작되도록 설정되어 있으므로 crond는 부팅과 함께 자동 실행될 것입니다.(이책의 ntsysv명령어편 참조바람)



그리고 crond를 재시작하려면 위의 예와 같이 “/etc/rc.d/init.d/crond restart”라고 하시면 됩니다. 또한 crond의 실행을 중지하려면 위의 예와 같이 “/etc/rc.d/init.d/crond stop”이라고 하시면 됩니다.


시스템의 기본 cron설정파일 /etc/crontab의 실행내용 분석


시스템 크론데몬인 crond는 /etc/crontab파일의 설정을 읽어들여서 설정되어 있는대로 실행을 합니다. 아래의 /etc/crontab파일은 리눅스를 설치하면 기본적으로 설정되어 있는 내용으로서 시스템에 기본적으로 필요한 사항들을 주기적으로 자동실행하기 위한 설정사항입니다.


즉, /etc/crontab파일은 시스템 크론데몬인 crond에 의해 실행될 시스템관리에 꼭 필요한 주기적인 자동실행내용들이 저장되어 있는 파일입니다. 이 파일의 기본설정내용을 살펴보면 다음과 같습니다.



즉, 리눅스 시스템은 /etc/crontab파일의 설정에 의해 시스템관리를 위하여 다음과 같이 주기적인 실행을 하게 됩니다. 이 파일의 주된 설정내용을 살펴보면 다음과 같습니다.






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


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


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


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



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


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


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


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



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


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


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


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



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


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


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


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



만약 여러분들께서 매월 한번씩 실행시키고자 하는 내용이 있다면 /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파일의 내용을 확인하고 있습니다.



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


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



즉, 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명령어가 허용되지 않음을 알 수가 있습니다.



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






4: “, , , , 요일, 실행명령”순으로 cron설정하는 방법


crontab명령어로 root나 일반사용자들의 개별적인 cron설정을 하는 구체적인 방법에 대해서 알아보도록 하겠습니다. cron설정을 실행하는 명령어에 대해서는 다음 내용에 구체적인 사례별로 설명되어 있으므로 참고하시고 여기서는 crontab명령어로 설정되는 내용들의 설정방법에 대해서 알아보도록 하겠습니다.


먼저 rootcron설정예를 보도록 하겠습니다.

뒤에서 설명하겠지만 rootcron설정을 확인하려면 root계정으로 “crontab -l”이라고 하시면 됩니다.



위의 root계정의 cron설정을 보면 각각의 행마다 숫자와 *, 그리고 명령어들로 구성되어 있는 것을 볼 수 있습니다. 위의 예에서 보신 바와 같이 root를 포함한 각 계정들의 cron설정내용은 다음과 같이 모두 6필드로 구성되어 있습니다.


설명을 위하여 위의 rootcron설정행 중 다음행을 참고로 하여 그 의미를 설명하도록 하겠습니다.


00 03 * * * su - root -c '/root/backup.sh' >& /dev/null


맨 앞의 “00”0분을 의미합니다.
그 뒤의 “03”03시를 의미합니다.
그 뒤의 “*”는 매일을 의미합니다.
그 뒤의 “*”는 매월을 의미합니다.
그 뒤의 “*”는 매주를 의미합니다.

그 뒤의 “su - root -c '/root/backup.sh' >& /dev/null”root계정으로 “/root/backup.sh >& /dev/null”을 실행하라는 의미합니다.

, 위의 행 내용을 종합적으로 해석해 보면 매월, 매주, 매일 0300분에 root계정으로 “su - root -c '/root/backup.sh' >& /dev/null”을 실행하라는 의미입니다. 참고로 /root/backup.sh파일은 매일 실행되는 시스템의 백업스크립트가 저장된 파일로서 일백업(daily backup)을 하기 위하여 필자가 만들어 놓은 스크립트파일입니다.


, 그럼 설정내용의 예에 대한 구체적인 사례를 보았으므로 cron으로 설정되는 각행들의 필드내용을 좀 더 구체적으로 설명해 보도록 하겠습니다.


첫번째 필드

(minutes)”을 의미. 0,1,2,3,,,59분까지 원하는 대로 설정가능.

두번째 필드

(hour)”를 의미. 0,1,2,3,,,23시까지 원하는 대로 설정가능.

세번째 필드

(day)”을 의미. 1,2,3,4,,,31일까지 원하는 대로 설정가능.

네번째 필드

(month)”을 의미. 1,2,3,4,,,12월까지 원하는 대로 설정가능.


다섯번째 필드

요일(weekday)”을 의미. 1,2,3,4,5,6,7중 하나로 설정가능.
(1:
월요일,2:화요일,3:수요일,4:목요일,5:금요일,6:토요일,7:일요일을 각각 의미함. 0도 일요일을 의미함.)

여섯번째 필드

실행될 명령어 내용


주의사항1 : “*”문자


각 필드에는 “*”문자가 올 수 있으며, 이는 각 필드에 해당하는 모든 숫자를 의미 합니다. 예를 들어 “일(day)”필드자리에 “*”로 설정되었다면 설정된 명령어가 매일 실행이 된다는 의미입니다.


주의사항 2 : 하이픈(“-”)문자


각 필드자리에 하이픈(“-“)문자가 올 수 있습니다. 예를 들어 일(day)필드자리에 “11-15”로 설정되어 있다면 11, 12, 13, 14, 15일을 의미합니다. 그리고 시간(hour)필드자리에 “1-5”로 설정되었다면 1, 2, 3, 4, 5시를 의미합니다.


주의사항 3 : 콤마(,)문자

각 필드자리에는 콤마(,)문자가 올 수 있습니다. 예를 들어 일(day)필드자리에 “1,11,21”로 설정되었다면 1, 11, 21일을 각각 의미합니다. 그리고 시간(hour)필드자리에 “3,6,9”로 설정되었다면 3, 6, 9시를 각각 의미합니다.






5: crontab으로 설정한 개별사용자의 cron설정, 파일로 확인하기

root를 비롯한 개별 사용자들의 cron설정만을 모아둔 디렉토리가 존재합니다. /var/spool/cron디렉토리에는 root와 개별사용자들의 cron설정이 계정명과 동일한 파일명으로 보관되어 있습니다. 이 디렉토리에 존재하는 파일의 내용은 각 계정사용자들이 자기의 cron설정을 확인하기 위하여 사용하는 “crontab -l”명령어의 결과와 동일한 것입니다.


다음은 현재 필자가 사용하고 있는 리눅스 서버의 /var/spool/cron디렉토리내의 파일들입니다.



위의 예를 보시면 /var/spool/cron디렉토리에는 bible, 그리고 root라는 파일이 존재하고 있습니다. , bible이라는 계정사용자의 cron설정파일이 bible이며 rootcron설정파일이 root라는 것을 알 수 있습니다.


이 두 파일의 내용을 살펴보도록 하겠습니다.

먼저 /var/spool/cron디렉토리내의 bible이라는 파일의 내용입니다.

이 파일의 내용은 bible계정으로 로그인하여 “crontab -l”의 결과와 동일하다는 것을 알아 두시기 바랍니다.



다음은 /var/spool/cron디렉토리내의 root라는 파일의 내용입니다.

이 파일의 내용은 root계정으로 로그인하여 “crontab -l”의 결과와 동일하다는 것을 알아 두시기 바랍니다.



위의 예들로 미루어 보면 “crontab -l”이란 명령어의 결과는 /var/spool/cron/ 디렉토리에서 해당계정사용자의 파일을 가져와서 보여주는 것임을 알 수 있습니다.


이렇듯 서버관리자는 특정명령어의 실행결과가 어떤 파일을 이용하여 출력되는 것인가를 알아둘 필요가 있습니다. 훌륭한 서버관리자가 되기위해서는 서버내부의 구석구석에 설정된 모든 설정들을 손바닥에 올려놓은 듯 훤하게 알고 있어야 합니다.











6: root권한으로 rootcron설정하는 방법

시스템관리자인 root는 시스템의 모든 cron설정을 수정, 변경, 삭제, 확인할 수 있습니다. 먼저, 시스템관리자인 수퍼유저(root) 자신의 cron설정하는 방법에 대한 설명입니다.


아래의 예는 root자신의 cron설정을 하기 위하여 root로 로그인 한 후에 “crontab -e”라는 명령어를 사용하여 cron설정을 하는 내용입니다. “crontab -e”을 실행하면 /var/spool/cron/root파일의 내용을 vi로 불러와서 열어줍니다. 여기에서 vi모드와 동일한 방법으로 cron설정을 할 수 있습니다.



rootcron설정을 마무리하고 빠져 나가려면 vi에서와 마찬가지로 “wq!”라고 하면 됩니다. 이렇게 수정,변경되어 저장되는 내용은 /var/spool/cron/root파일에 저장됩니다.


여기서 설명하고자 하는 내용은 root권한으로 root자신의 크론(cron)을 설정, 변경하는 “crontab -e”라는 명령어의 사용법입니다.








7: root권한으로 일반 사용자의 cron설정하는 방법

시스템관리자인 rootroot자신의 cron설정뿐아니라 일반 계정사용자의 cron설정까지도 수정,설정,삭제를 할 수 있습니다.


시스템관리자인 root권한으로 일반사용자의 cron을 설정하고자 한다면 “crontab -u 계정명 -e”라고 하시면 됩니다.


아래의 예는 root권한으로 일반사용자인 biblecron을 설정,변경하는 방법에 대한 예입니다.



root권한으로 일반계정사용자(bible)cron설정을 마무리하고 빠져 나가려면 vi에서와 마찬가지로 “wq!”라고 하면 됩니다. 이렇게 수정,변경되어 저장되는 내용은 /var/spool/cron/bible파일에 저장됩니다.








8: root권한으로 rootcron설정내용 확인하는 방법


이번에는 root권한으로 root자신의 cron설정내용을 확인하는 방법에 대한 설명입니다. root뿐아니라 일반계정사용자도 자기자신의 cron설정을 확인하고자 한다면 “crontab -l”이라고 하시면 됩니다.


아래의 예는 root로 로그인 후에 root자신의 cron설정을 확인하기 위하여 “crontab -l”이라는 명령어를 사용한 예입니다.



위의 내용은 /var/spool/cron/root파일내용과 동일한 내용으로서 root계정으로 “crontab -l”이라고 하면 /var/spool/cron/root파일의 내용을 불러와 그대로 보여주게 됩니다.










9: root권한으로 일반 사용자의 cron설정내용 확인하는 방법


앞서 설명드렸듯이 시스템관리자인 root는 자신의 cron설정뿐 아니라 일반계정 사용자의 cron설정내용까지도 확인이 가능합니다.


root권한으로 일반계정사용자의 cron설정을 확인하고자 한다면 “crontab -u 계정명 -l”이라고 하시면 됩니다.


아래의 예는 root권한으로 일반계정사용자인 bible사용자의 cron설정내용을 확인하고 있는 것입니다.



이렇게 보여지는 내용 또한 /var/spool/cron/bible이라는 파일을 불러와서 보여준 결과입니다.






10: 일반사용자의 자기자신의 cron설정하는 방법


일반계정사용자는 자기자신의 cron만을 설정할 수 있습니다. 앞서 설명드렸듯이 일반 사용자가 cron설정을 하려면 /etc/cron.allow파일에 계정명으로 등록이 되어 있어야만 cron설정이 가능합니다.


아래의 예는 bible이라는 계정사용자가 자기자신의 cron설정을 하기 위하여 bible이라는 계정으로 로그인 한 후에 “crontab -e”라는 명령어를 사용한 것입니다.



위의 내용은 /var/spool/cron/bible이라는 파일을 불러와 vi로 열어준 결과입니다. 새로 설정하거나 변경된 내용으로 저장하려면 “:wq!”로 저장한 후에 빠져나올 수 있습니다. 이렇게 설정 또는 변경된 내용은 /var/spool/cron/bible이라는 파일에 저장이 됩니다.





11: 일반사용자의 cron설정 확인하는 방법


일반계정사용자는 자기자신의 cron설정만을 확인할 수 있습니다. 일반 계정사용자가 자기자신의 cron설정을 확인하고자 한다면 로그인 한 후에 “crontab -l”이라는 명령어를 사용하면 됩니다.


아래의 예는 bible이라는 계정사용자가 bible계정으로 로그인 한 후에 자기자신의 cron설정을 확인하기 위하여 “crontab -l”이라는 명령어를 사용한 결과입니다.



이렇게 출력된 내용은 /var/spool/cron/bible파일의 내용과 동일한 것입니다. , /var/spool/cron/bible파일의 내용을 불러와 그대로 보여준 것입니다.









12: root권한으로 rootcron설정 삭제하기


시스템관리자인 root는 자기자신의 cron설정뿐 아니라 일반계정사용자의 cron설정까지도 삭제할 수 있습니다. 시스템관리자인 root가 자기자신의 cron설정을 삭제하고자 한다면 “crontab -r”이라고 하면 됩니다.


아래는 root가 자기자신의 cron설정을 삭제하는 예입니다.

먼저 id로 현재 사용자가 root임을 확인하고 “crontab -l”로 현재 설정된 rootcron설정을 확인한 것입니다.



그리고 다음은 “crontab -r”root자신의 cron설정을 삭제 하였습니다. 그리고 다시 “crontab -l”로 설정내용을 확인해 보았으나 “crontab -r”명령으로 이미 cron설정이 삭제되었으므로 아무런 설정도 되어있지않다는 것을 확인한 것입니다.



crontab -r”rootcron설정이 삭제 되었다는 것은 /var/spool/cron/root파일이 삭제되었다는 것을 의미합니다. 따라서 아래의 예는 “crontab -r”의 결과 /var/spool/cron/root파일이 삭제되었음을 확인한 것입니다.







13: 일반계정사용자의 자기 자신의 cron설정 삭제하기


일반계정 사용자는 자기자신의 cron설정만을 삭제할 수 있습니다. 일반 계정사용자가 자기자신의 cron설정을 삭제하려면 자기자신의 계정으로 로그인 한 후에 “crontab -r”이라고 하면 됩니다.


아래의 예는 bible이라는 계정사용자가 bible계정으로 로그인 한 후에 자기자신의 cron설정을 삭제한 예입니다.


먼저, id로 현재 계정사용자가 bible임을 확인한 후에 “crontab -l”로 현재 설정되어 있는 bible사용자의 cron설정을 확인 하였습니다.



그리고 다음은 bible사용자가 자기자신의 cron설정을 삭제하기 위하여 “crontab -r”명령어를 사용한 것입니다. 그런 다음 “crontab -l”로 설정내용을 확인하였으나 이미 삭제되었으므로 아무런 내용도 설정되어 있지않다는 “no crontab for bible”이라는 메시지를 보여주고 있는 것입니다.



이렇게 bible계정사용자가 자기자신의 cron설정을 삭제하게 되면 /var/spool/cron/bible파일이 삭제됩니다.










14: root권한으로 일반계정사용자의 cron설정 삭제하기


이번에는 root권한으로 일반계정사용자의 cron설정을 삭제하는 방법을 설명 드리겠습니다. 시스템관리자 root의 권한으로 일반계정사용자의 cron을 삭제하려면 “crontab -u 계정명 -r”이라고 하시면 됩니다.


아래의 예는 root사용자가 bible사용자의 cron설정을 삭제하는 예입니다.

먼저, idroot임을 확인한 후에 앞서 설명드린 방법과 마찬가지로 biblecron설정을 확인하기 위하여 “crontab -u bible -l”이라는 명령어를 실행한 것입니다. 결과 biblecron설정을 확인 하였습니다.



그런 다음 root계정으로 biblecron을 삭제하기 위하여 “crontab -u bible -r”이라는 명령어를 실행 하였습니다. 그리고 삭제를 확인하기 위하여 좀 전에 실행했던 “crontab -u bible -l”을 다시한번 실행한 것입니다. 실행결과 biblecron설정이 삭제되었으므로 “no crontab for bible”이라는 메시지만 출력된 것입니다.



그리고 아래의 예는 biblecron설정을 삭제하였다는 의미는 /var/spool/cron/bible파일이 삭제되었다는 의미이므로 이를 확인한 것입니다.



Comments