개발

[FTP] 리눅스 shell script로 FPT 사용하기

2021. 9. 23. 22:24
목차
  1. 1. FTP 설치
  2. 1) Ubuntu에서 설치
  3. 2) Mac OS
  4. 2. FTP shell script

파일 서버를 구축해둔 경우 client 환경(리눅스, Mac OS 등)에서 FTP로 파일을 주기적으로 가져오는 방법을 정리하고자 한다.

 

1. FTP 설치

1) Ubuntu에서 설치

vsftpd를 설치해준다.

apt-get update
apt-get install vsftpd

 

2) Mac OS

Mac OS의 경우 Sierra부터 FTP가 내장 프로그램에서 삭제되었다고 한다. Mac의 패키지 관리 툴인 brew가 설치되어 있는 경우 inetuitls를 설치해준다.

brew install inetutils

 

2. FTP shell script

기본 구조는 아래와 같다.

#!/bin/sh

SERVER="xxx.xxx.xxx.xx"  # 1
PORT="1234"  # 1
USER="ID"
PASS="PASSWORD"

DOWN_DIR="/path/of/file/in/remote"
LOCAL_DIR="/path/of/file/to/download"
FILE_NAME="data.db"

ftp -in -p $SERVER $PORT << sess  # 2
user $USER $PASS
bin  # 3
prompt  # 4
cd $DOWN_DIR
get $FILE_NAME  # 5
mget *.log  # 6
bye
sess

 

주의해야할 부분들은 아래와 같다.

  • #1: 서버 주소와 포트 번호는 별도로 기입해주는게 좋다. 그리고 꼭 변수와 값 사이에 공백이 없도록 붙여쓴다. 안그러면 command not found 에러 난다.
  • #2: -i 옵션은 여러 파일을 받는 mget 사용 시 prompt 모드를 끄며, -n 옵션은 자동 로그인을 방지한다. 또한 'sess'는 사용자가 임의로 지정해주면 된다.
  • #3: bin은 파일 전송모드를 바이너리로 변경한다.
  • #4: prompt 모드를 끄는 옵션이며, 파일 받을 때 y/n을 물어보지 않고 진행한다.
  • #5: 파일을 하나 받을 때는 get을 쓴다
  • #6: 여러 파일을 한꺼번에 받을 때는 mget을 쓴다.

 

source 명령어로 실행시키면 아래와 같이 뜨며, 파일 다운로드가 다 되면 다음 커멘드 라인이 뜬다.

 

 

[출처]

  • Hny's Log

 

 

728x90
저작자표시 비영리 동일조건 (새창열림)

'개발' 카테고리의 다른 글

[ubuntu] tar 명령어  (0) 2022.07.08
[Miniconda] 가상환경 명령어  (0) 2022.01.18
[GCP] Python에서 GCP Cloud Storage 연동하기  (0) 2021.09.05
[jupyter] jupyterthemes로 jupyter notebook 테마 설정하기  (0) 2021.08.29
[MAC] zsh로 miniconda 실행하기(zsh: command not found)  (0) 2021.08.26
  1. 1. FTP 설치
  2. 1) Ubuntu에서 설치
  3. 2) Mac OS
  4. 2. FTP shell script
'개발' 카테고리의 다른 글
  • [ubuntu] tar 명령어
  • [Miniconda] 가상환경 명령어
  • [GCP] Python에서 GCP Cloud Storage 연동하기
  • [jupyter] jupyterthemes로 jupyter notebook 테마 설정하기
Fine애플
Fine애플
이것저것
Fine애플
끄적끄적
Fine애플
전체
오늘
어제
  • 분류 전체보기 (167)
    • 논문 및 개념 정리 (27)
    • Pattern Recognition (8)
    • 개발 (57)
    • python 메모 (45)
    • pytorch, tensorflow (5)
    • 알고리즘 (9)
    • Toy Projects (4)
    • 통계이론 (2)
    • Reinforcement Learning (10)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • ubuntu
  • GPU
  • Probability
  • Bert
  • miniconda
  • tensorflow
  • reinforcement learning
  • pandas
  • nlp
  • Docker
  • 딥러닝
  • python
  • 개발환경
  • 알고리즘
  • 언어모델
  • transformer
  • PyTorch
  • BigBird
  • container
  • 자연어

최근 댓글

최근 글

hELLO · Designed By 정상우.
Fine애플
[FTP] 리눅스 shell script로 FPT 사용하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.