반달가면 이글루에서 백업 - 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 사용을 추천.
'bash script' 카테고리의 다른 글
[bash: telnet] telnet 자동 접속 (0) | 2020.10.16 |
---|---|
[bash: for] 여러 파일에 대한 반복 작업(for loop) (0) | 2020.10.16 |
[bash: find] 파일 찾기 (0) | 2020.10.15 |
[bash: date] 임시 파일 만들기 (0) | 2020.10.15 |
[bash: date] 어제 날짜, 내일 날짜, 다음주 월요일 날짜 등 (0) | 2020.10.15 |