bash script2020. 10. 16. 11:38

 

반달가면 이글루에서 백업 - bahndal.egloos.com/382770

 

리눅스 shell script에서 FTP 서버에 자동으로 접속해서 파일을 올리거나 가져오는 방법이다.

 

형식은 대략 아래와 같다.

 

ftp -n [서버 주소] << [구분자]

user [사용자id] [암호]

[ftp 명령어]

quit

[구분자]

 

예를 들어 사용자 이름 john, 암호 my_password, ftp 서버 192.168.0.10, my_data.dat 파일을 가져오는 경우라면 이렇게 만들면 되겠다.

 

ftp -n 192.168.0.10 << SCRIPT

  user john my_password

  binary

  get my_data.dat

  quit

SCRIPT

 

구분자로 사용한 SCRIPT는 들여쓰기(indentation)하면 안된다는 점에 주의하자. 구분자 위쪽의 ftp 명령어 부분은 들여쓰기해도 된다.

 

ftp에서 -n 옵션은 접속후 자동으로 계정과 암호를 묻지 않도록 하기 위한 것이다. 계정과 암호는 "SCRIPT"라는 구분자로 묶인 부분에서 수동으로 입력하므로 자동접속에서는 -n 옵션이 반드시 포함되어 있어야 한다.

 

만약 script 구성상 전체적으로 들여쓰기를 해야 보기가 좋다면 아래와 같이 해 보자. ("<<" 대신 "<<-" 사용)

 

  ftp -n 192.168.0.10 <<- SCRIPT

    user john my_password

    binary

    get my_data.dat

    quit

  SCRIPT

 

한가지 유의할 점은, 들여쓰기를 할 때 반드시 탭(tab)을 사용해야 한다는 것이다. 공백(space)으로 들여쓰기를 하면 안 된다.

 

FTP는 접속정보가 암호화되지 않으므로 보안에 유의하자! 되도록 anonymous 사용을 추천.

 

 

728x90
Posted by 반달가면