>> Delete Reply from No. 32708 article
No. RE: 특정날짜에 시스템명령 사용 - cron & expect

등록 2001-06-10 13:39:00 By localhost     조회 2
이름 lacrimosa    

		저도 아직 초보라 남 챙겨줄만큼 실력이 뒷받침되는건 아니지만,
재밌고 유용한 질문이라 이렇게 답변을 써 드립니다.
 특정 시간에 시스템 명령어를 사용하려면 cron을 쓰면 되겠죠?
 cron을 쓰려면 crond 데몬이 돌아야 합니다.
 설정파일은 /etc/crontab 이구요.
 이 파일에 대해서 간단히 설명을 하자면...
 SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 # run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
 아마 디폴트로 이렇게 되어있을겁니다.
 # run-parts 아래부분이 실제로 명령을 수행하는 부분인데요,
 각각의 필드는
 분 시 일 월 요일 프로세스owner 실행파일
 자세한것은 메뉴얼 참고하시구요.
 저같은 경우 /home/wake.sh 라는 mp3몇곡을 재생하는 쉘스크립트를 만들어놓구요
 /etc/crontab 마지막줄에
 00 10 * * * root /home/wake.sh
 이렇게 추가해서 매일 오전 10시에 음악이 나오는 알람시계로 쓰고 있답니다^^
  -----
 cron은 쓰기가 쉬운데...
  문제는 ftp로 파일을 전송하는 것이겠군요.
 다른 프로토콜을 쓰면 간단하게 해결될지도 모르겠지만,
 제가 모르는 관계로 -.-;;;
 약간 꽁수인 듯 하지만 재밌는 방법을 소개하겠습니다.
 아래 소스 살짝 수정하셔서 쓰셔도 됩니다.
  #!/usr/bin/expect
# 리눅스에는 이런놈이 있습니다.
# expect라구, 특정 event를 기대(expect)하고 있다가
# 그 event가 일어나면 정해진 쿼리를 보내는 거죠.
# 재밌는 놈입니다.
 # 이 쉘스크립트는 BACKUP.tar.gz란 파일을
# 네이버 ftp의 제 계정으로 전송하는 역할을 합니다.
 spawn ncftp -u ID ftp.naver.com
# ncftp를 이용하여 네이버 ftp에 ID로 접속하는 프로세스를 생성(spawn)합니다.
 sleep 2
# 접속이 되는 동안 약 2초동안 기다렸다가...
 expect "Password:"
# ncftp가 사용사의 패스워드를 묻습니다.
# 이때 화면에 "Password:" 라고 묻죠.
# "이 이벤트를 expect하라" 말입니다.
 send "PASSWORD
"
# 기대하고 있던 "Password:" 이벤트를 만나면
# 마치 키보드로 두드린 듯이 PASSWORD를 집어넣습니다.
#
 은 엔터구요.
 sleep 1
# 로긴하는 동안 약 1초정도 쉬었다가...
  expect "ncftp*>"
# 로긴이 되면 ncftp 프롬프트가 생깁니다.
# 프롬프트는 "ncftp 경로 >" 라고 생기므로 경로 대신 와일드카드(*) 쓰고,
# 이 이벤트를 만나면
 send "put BACKUP.tar.gz
"
# 파일을 전송해야겠죠
# ncftp의 put 명령어로 BACKUP.tar.gz를 올립니다.
 sleep 5
# 파일이 올라가는 동안 기다렸다가...
 send "exit
"
# ncftp를 종료하구요,
 interact
# 프로세스를 끝냅니다.
  bash나 csh의 명령어와 다른것이 많습니다.
expect 스크립트에서는 알고리즘적인 문법(제어문같은거)은 피하시는게 좋을거구요
 argument처리 같은것두 다르니깐...
 자세한건 뉴스그룹이나 주위의 아는 사람에게 물어보세요.
 도움이 되었길 바라며...--The Day of Tear - LACRIMOSA
To the Memory of Banished Angel
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved