>> Edit article
이름
제목
패스워드
저도 아직 초보라 남 챙겨줄만큼 실력이 뒷받침되는건 아니지만, 재밌고 유용한 질문이라 이렇게 답변을 써 드립니다. 특정 시간에 시스템 명령어를 사용하려면 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