BLOG main image
전체 글 (101)
나의일상 (12)
내가즐기는것들 (15)
컴퓨터관련 (10)
AP뉴스받아쓰기 (4)
여러가지정보모음 (7)
요즘세상이야기 (33)
퍼온이야기들 (19)
블로그코리아에 블UP하기 믹시
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2008. 5. 22. 00:11

크론탭(crontab)이란 서버 스스로 정해둔 명령을 일정 기간마다 실행하도록 하는 것입니다.

윈도우로 따지면 예약된 작업 기능정도가 되겠네요.


우선 제가 관리하는 서버에 크론탭을 사용하게된 이유가 '주기적인 백업'을 위해서 였습니다.

그래서 저는 파일을 하나 만들어놓고 그 파일에 백업을 하도록 입력해두고

크론탭을 이용해서 주기적으로 그 파일이 실행되도록 했습니다.

사용자 삽입 이미지

제가 만들어준 파일의 내용물입니다.

물론 vi편집기를 이용해서 만들었습니다.


today=$(date +%Y%m%d)

=> 파일을 저장할 때마다 언제 저장한건지 알기 위해서 C에서 변수를 지정해주듯이(?)

$today라고 쓰면 날짜가 입력되도록 한 것입니다.


rm -f /home/data/files/Backup/bbs-*

=> rm은 삭제 명령어구요, -f는 지우기 옵션인데...

rm --help라고 쓰면 rm 명령어에 대한 도움말이 간단하게 나옵니다 ㅋ

그리고 그 뒤에 경로를 지정해둔건.. /home/data/files/Backup 폴더로 들어간 다음에...

파일이나 폴더이름의 앞이 bbs- 라고 시작되는 것은 모두 지워라 라는 뜻입니다.

별기호(*)는 "모든"을 뜻합니다.


tar cvfpz /home/data/files/Backup/bbs-$today.gz /home/barami/bbs

=> tar cvfpz 까지는 압축을 하라는 명령어구요.. 음.. 저도 이것 까지밖에는 모릅니다..-_-;;

/home/data/files/Backup/bbs-$today.gz 이부분은

.../Backup폴더 안에 bbs-[날짜].gz 라는 파일이름으로 압축파일을 만들으라는 뜻이구요

맨 뒷부분인 /home/barami/bbs 는 이 폴더안에 있는 모든것들을 압축시키라는 뜻이랍니다.




이제 파일을 만들었으니∼ 크론탭에 입력을 할 차례군요!

아무 위치(폴더)에서나 crontab -e 라고 입력을 해보세요.

사용자 삽입 이미지

아마 이런 화면이 뜰거에요.

여기서는 vi편집기처럼 입력을 하는 방식이 아니라

그냥 윈도우에서 워드에 입력을 하듯이 그냥 방향키로 왔다갔다 하면서 입력을 해도 됩니다.


저는 지금 크론탭에 파일실행 명령어를 입력해둔 상태라 한줄이 나와있는데

처음 크론탭에 지정을 하시게되면

# m h  dom mon dow   command

이 줄만 뜰거에요.


m : minute 분을 입력하는 자리

h : hour 시간을 입력하는 자리

dom : day of month "몇일"을 입력하는 자리

mon : month "몇월"을 입력하는 자리

dow : day of week 요일을 입력하는 자리

command : 명령어를 입력하는 자리


m부터 dow까지는 숫자 또는 *로 입력을 하셔야 합니다.

뒤에 적어둔 command를 몇월 몇일 무슨요일 몇시 몇분에 실행을 시킬지 적어두는 것이죠!

여기서 *의 의미는 '아무때나'라는 뜻입니다.


만약 제가 예시그림에 적은것 처럼 dom mon dow 자리에 각각 * 을 입력했다면

아무 '요일'에나 아무 '월'에나 아무 '일'에나 실행을 하라는 뜻입니다.

즉, 제가 예시로 써놓은 것은 시, 분만을 입력해 놓았기 때문에

매일 밤 11시 55분에 뒤의 명령어를 실행하라는 뜻입니다.


만약 dom에다가 10을 적었다면 "매월 10일 밤 11시 55분"에 실행을 하는거구요

dom과 mon에 각각 10을 적었다면 "10월 10일 밤 11시 55분"에 실행을 하는 것이구..

dom과 mon과 dow에 각각 5를 적었다면 "5월 5일 목요일 밤 11시 55분"에 실행을 하는 것입니다.

이 조건에 맞는 날은 참 찾기가 어렵겠죠? -_-;;

5월 5일이어도 만약 수요일이면 실행이 안되는거구

꼭 목요일이 되는 5월 5일이어야 실행이 된다는 뜻이니까..ㅋㅋ

그래서 보통 dom과 mon에는 *을 입력해두고 dow에 요일을 입력해두는 식으로 해서

1주일에 한번씩 백업을 하도록 하는 식으로 많이 사용한다고 합니다.

(dow는 일요일부터 금요일이 각각 0∼6에 대응됩니다.)


/home/barami/bbs/cron.bbsdump/backup.sh

=> 이것처럼 앞에 /로 시작을 해서 파일까지의 경로를 입력해주면

지정해둔 시간(또는 날짜)에 저 파일을 실행해주게 됩니다.



각 자리 사이는 "스페이스"로 구분이 됩니다.

그리고 주의하실 점은!!

m(분)자리 앞에 한칸을 꼭 띄어쓰기를 해야한다는 것입니다!!

제가 이것때문에 다른거 다 만들어놓고 왜 안되나 엄청 헤맸었습니다ㅠㅠ


음........ 그리구 마지막에 종료를 하실때는 Ctrl+X를 눌러주시면 됩니다.

화면 아래쪽에 ^X가 Exit이라고 써있죠??

여기서 ^ 이 기호가 Ctrl키를 뜻한답니다~ㅋ


자.. 여기까지 해보셨으면 크론탭이라는걸 대충 어떻게 사용하는지는

대충 감이 잡히셨으리라고 생각됩니다 ^^;

제가 서버에 대해서 정식으로 책을 보면서 공부하는게 아니라

선배한테 숙제(?)식으로 할 일을 받으면 그걸 인터넷으로 찾아서 해보는 식으로 배우고 있거든요ㅠ

야매(?)로 배우고 있는거죠...-_-;;;

그렇다보니 설명 중간중간에 자세한 설명없이 '그냥해라'식으로 써놓은 점 죄송합니다ㅠ


그럼 크론탭 포스팅은 이것으로 마치겠습니다!