ftp 업로드 자동

보통 crontab 에 스케줄을정리하여 자동으로 백업을 받던지 어떠한 작업등을 설정할 수 있는데..
이중 어떤 자료를 매월 혹은 매주 특정 서버로 보내야 할 필요가 있다면 어떻게 해야 할까?
ftp 명령을 사용하여 자동으로 다른 서버로 자료를 보내는방법을설명드리고자 합니다.

1. ftp 자동로그인 환경파일 작성
    # vi .netrc
    # mahine [hostname]  login [loginid]   password [login password] 
    machine   ftpserver  login  ftpuser  password  pw1234
    
    위와 같이 파일을 .netrc 파일을 작성합니다. machine 뒤에 오는 ftpserver 값은
    /etc/hosts 파일에 아이피주소가 미리 등록되어 있어야 합니다.
    
    # chmod 600 .netrc
    
    .netrc 파일을 600 모드로 바꾸지 않으면 파일 모드가 맞지 않다고 에러가 납니다.
 
2. ftp 실행 테스트
    # ftp ftpserver
   
    Connected to ftpserver.
    220 NMS FTP server (SunOS 5.8) ready.
    331 Password required for root.
    230 User root logged in.
   
    ftp>
   
    아이디와 암호를 묻는 과정없이 자동으로 로그인 됩니다.
 
 
3. 로그인뒤 실행되어야 될 명령어 설정
    # vi .ftpcmd
    bin # binary file일 경우
    cd /export/home  # 서버에 업로드 디렉토리 이동 할 경우
    prompt  # 다수의 파일을 업로드 해야될경우 interactive 모드 해제
    mput   *.tar # 특정파일 업로드
 
4. 실행 테스트
    # ftp ftpserver < .ftpcmd
    자동으로 실행되는지 확인합니다.
 
5. 크론탭등록할 스크립트 만들기
    # vi ftpupload.script
    cd /ftpuploaddir  # 업로드할 파일이 있는 디렉토리 가기
    ftp ftpserver < /.ftpcmd
    
    # chmod 700 ftpupload.script
 
 
6. 크론탭 등록하기
    crontab -e
    0 6 1,16 * *    /ftpupload.script   # 크론탭 맨끝에 추가
   
    # 매월 1일 16일 6시에 ftp 업로드 실행

2010/06/07 14:27 2010/06/07 14:27

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다