man cron 을 입력해보세요.
cron은 특정 날짜 뿐만 아니라 특정일, 특정시간에 등록되어있는
명령어가 실행하도록 만드는 프로그램(?)입니다.
쉘 스크립트로 작성된 프로그램도 실행이 가능합니다.
ftp로 작성하려면 ftp에 관한 내용도 아셔야겠네요.
ftp명령도 사용자 입력없이 접속 및 전송이 가능합니다.
-n 옵션을 사용하면 자동 login도 가능합니다.
자세하게 기억이 안나는데... 간단하게 설명하자면...
1. 실행시킬 권한을 가진 user(여기선 root겠군요.) home디렉토리에
.netrc파일을 만듧니다.
$ cd HOME
$ ls .netrc
machine want.domain.com login username password passwd
$ _
이 부분은 ftp -n의 옵션이 주어졌을시에 사용이 됩니다.
상대편 주소는 want.domain.com이고 login명은 username, 암호는
passwd가 되겠죠.
2. 전송에 필요한 명령어를 입력한 파일을 만듧니다.
(파일 이름은 backup.batch 라고 하고 내용은 아래와 같다면...)
cd /tmp/backup
bin
put backup.dat
bye
3. 이것을 cron에 적용시키면 됩니다.
/etc로 이동을 한후에 crontab을 수정해 주시면 됩니다.
crontab의 구조는 (man 5 crontab에 자세히 나와있지만...)
* * * * * command
형태를 가지고 있고 첫번째 아스테리크('*')부터
분(0~59), 시(0~23), 날짜(1~31), 달(1~12), 주(0~7)의 의미를
가지고 있습니다.(년도는 없죠. *^^*)
예를 드신 2001년 7월 1일 03:00(시스템이 별로 사용중이지 않는
시간을 선택해야합니다.)이라고 하면
0 3 1 7 * ftp -n < $HOME/backup.batch
라고 하면 되겠죠.
위에 써있는 내용은 실험을 하지 않은 관계로 정확하지 않을 수가
있습니다. 그리고 패스워드가 파일에 기록되어있는 관계로 접근권한에
신경을 쓰셔야하고 반드시 root 로 실행을 해야합니다.
좀더 자세한 내용은 ftp, crontab에 관련된 man pages를 이용하시기
바랍니다.(인터넷에도 이러한 종류의 예제가 널려있는데... --;)
: 특정날짜에 시스템 명령을 사용하고 싶은데 가능한지요..
:
: 예를 들면 2001년 7월 1일날 백업화일을 다른 ftp 서버로 전송시킨다면
: 어떤 명령을 써야 하는지요..
:
: 셀로 작성되었으면 하는데요..
:
: 소스좀 부탁합니다...
:
: 미리 감사..
:
: --
: 김광회 입니다...--서명