OS/Linux

Linux Shell FTP 전송

아르비스 2016. 7. 13. 10:50

Linux Shell에서 FTP 접속하는 명령어


예를 들어 FTP 접속 후 특정 계정으로 로그인, 파일 전송 후 접속 종료.


■ ftp 옵션

  - i  : prompt  --> yes를 묻지 않음

  - v :  서버로부터 모든 응답을 보여줌

  - n : autologin


example

#!/bin/sh


SERVER="dest.domain.com"

USER="userid"

PASS="password"


DOWN_DIR="/path/download/dir"

LOCAL_DIR="/path/local/dir"

FILE_NAME="file.txt"



cd $LOCAL_DIR


ftp -in ${SERVER} << EOF

     user $USER $PASS

  bin

     cd $DOWN_DIR

      // 다운로드

     get $FILE_NAME                // 한개 받음

     mget  *.log*                     // 여러개 파일을 한번에 다운 받음

 

      // 업로드

      put $FILE_NAME              //  한개 올림

      mput  *.log*                    // 여러개 파일을 한번에 업로드


   bye

EOF


    

 


example2


만약 서버에서 "Entering Passive Mode" 이런 메시지가 나오는 경우 


'passive' 를 넣어주면.. Passive mode off. 로 변경된다.


SERVER="ip.server.com"

PDF_DIR="/${PDF}/${PROP}"

DRM_DIR="/${DRM}/${PROP}"

FILE="infra.properties"


cd ${DEPLOY_PATH}/convert


echo "Start FTP for send"

ftp -in ${SERVER} << EOF

    passive

     user $USER $PASS

   bin

     cd $PDF_DIR

     put $FILE


     cd $DRM_DIR

     put $FILE

   bye

EOF

echo "Finished FTP "