반응형
FTP를 사용하여 파일을 업로드하는 스크립트
ftp.sh 스크립트 작성
vim ftp.sh
#!/bin/bash
# 현재 날짜를 YYYYMMDD 형식으로 저장
DATE=$(date -d today +%Y%m%d)
# 동기화할 서버 목록을 변수에 저장
SERVER_LIST="
relay2.scbyun.com
#relay3.scbyun.com
relay4.scbyun.com
relay5.scbyun.com
relay6.scbyun.com
relay7.scbyun.com
relay8.scbyun.com
relay9.scbyun.com
relay10.scbyun.com
"
# FTP 계정 정보 설정
USER='xman'
PASSWD='dusrnth2001'
# 동기화할 파일 패턴 설정
FILE="$DATE*.log"
# 서버 목록 순회
for SERVER in ${SERVER_LIST}
do
# FTP 연결 및 파일 동기화
ftp -vn $SERVER <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
hash
cd /var/slogs
lcd /data/newlog/$SERVER
prompt
mget $FILE
quit
END_SCRIPT
done
FTP 서버로 파일을 업로드하는 스크립트
vim ftp_upload.sh
#!/bin/bash
HOST="IP 또는 도메인"
USER="사용자_이름"
PASS="비밀번호"
FILE="업로드할_파일"
ftp -vn <<END
open $HOST
user $USER "$PASS"
binary
hash
put "$FILE"
quit
END
이 스크립트는 주어진 FTP 서버의 호스트, 사용자 이름, 비밀번호 및 업로드할 파일을 사용하여 FTP 연결을 설정하고 파일을 업로드합니다.
python을 사용하여 FTP 업로드를 수행하는 스크립트
import ftplib
ftp_server = "ftp.example.com" # FTP 서버 주소
ftp_user = "username" # FTP 계정 이름
ftp_password = "password" # FTP 계정 비밀번호
local_file = "/path/to/local/file" # 로컬 파일 경로
remote_file = "/path/to/remote/file" # 원격 파일 경로
# FTP 연결 설정
ftp = ftplib.FTP(ftp_server)
ftp.login(ftp_user, ftp_password)
# 바이너리 모드로 전송
ftp.set_pasv(True)
ftp.cwd("/")
with open(local_file, "rb") as f:
ftp.storbinary("STOR " + remote_file, f)
# FTP 연결 닫기
ftp.quit()
위 스크립트에서는 ftplib 모듈을 사용하여 FTP 서버에 연결하고, login() 함수를 사용하여 FTP 계정으로 로그인합니다. 로그인이 완료되면, set_pasv() 함수를 사용하여 바이너리 모드로 전송할 수 있도록 설정하고, cwd() 함수를 사용하여 원격 파일 경로로 이동합니다. 이후, storbinary() 함수를 사용하여 로컬 파일을 원격 파일 경로로 업로드합니다. 마지막으로, quit() 함수를 사용하여 FTP 연결을 닫습니다.
이 스크립트를 사용하면 로컬 파일을 FTP 서버로 업로드할 수 있습니다. 필요에 따라 스크립트를 수정하여 다른 작업을 수행할 수 있습니다.
728x90
반응형
'스크립트' 카테고리의 다른 글
[스크립트] 리눅스에서 ping 테스트 시 시작 표시하기(ping 정상 Bell 울림) (0) | 2013.09.10 |
---|---|
아파치 서버의 로그 저장 스크립트 (0) | 2013.08.14 |
아파치 서버의 로그 삭제 스크립트 (0) | 2013.08.14 |
bind recursive clients 모니터링 (0) | 2013.08.14 |
[랜덤] 임의의 패스워드 생성 (0) | 2013.07.02 |