프로그래밍/셸 스크립트

셸 스크립트를 이용해서 ftp 로 다른 서버에 백업하기

마PD 2013. 5. 9. 22:32

더 간단한 방법


ftp.sh

#!/bin/bash


YEAR=`date +%Y`


ftp -n -i IP주소 <<EOF

user ID PW

cd 받을서버의디렉토리


put 보낼파일의절대경로 받을파일명

bye

EOF


퍼온 방법

ftp 옵션
-i : prompt => yes 를 묻지 않음
-v : 서버로 부터 모든 응답을 보여줌
-n : autologin


스크립트 내용

#!/bin/sh
DAT=`date -d "-1 hours" +%Y%m%d-%H`
#20110401-14 형식으로 출력됨
ftp -in (IP주소) << EOF
        user trs trs123   #아이디 비밀번호를 이런식으로 입력함
 bin 
        #prompt   -i 옵션이 prompt 임
        cd /app/TIG/stat/txt/backup/7001
        lcd /log/app/TIG/stat/txt/7001
        mget *.$DAT*    #여러개의 파일을 한꺼번에 다운받음
        bye
EOF



파일 2개를 생성한다.

1. ftp.txt

open IP

user ID PW

prompt off

cd 업로드할 디렉토리

put /root/text.txt text.txt 

bye


put /root/text.xt text.xt

여기서 받는쪽 파일명을 써주지 않았더니 에러가 났었다. -_-;;



2. ftp.sh

#!/bin/bash

ftp -n -v < ftp.txt



그리고 ftp.sh를 실행하면 파일이 넘어간다. 우오오오.

ftp.sh에서 ftp.txt 의 위치를 절대경로로 하는게 좋을듯....