본문 바로가기

Work/Linux(7.x)_centos

파일 전송 스크립트

SCP 를 이용한 서버에서 서버로 파일 전송 스크립트 ( 로그 )

 :: 아래 스크립트중 expect 를 사용하기 위해 패키지 설치
 :: 로그파일 형식중 시간이 포함 되어 있을시 FIND + date 명령어를 통해서 파일 전송 
 :: 시나리오
    ::: 매 시간 파일을 생성해서 로그 생성 ( ex > 파일명_yyyymmdd_hh.log )
    ::: 로그 내용이 완료된 파일을 다른 서버로 전송 ( 파일명_20180622_19.log 에는 ( 20180622 19:00:01~19:59:59 ) 의 로그 내용이 포함
    ::: 매 시간 생성이 완료된 로그 파일 전송    

#yum -y install expect

 :: 스크립트 파일 생성

#vi transfer.sh


##아래 스크립트 내용

#!/bin/bash


#directory

LOG_HOME="/data/logs/script_test/"

USER_NAME="root"

DATE=`date "+%Y%m%d_%H" -d '-1 hour'`

PW="P@SSW)RD"

DTSERVER="192.168.1.2"

FIND=$(find $LOG_HOME -name 파일명_$DATE.log -type f)

#FIND=$(find $LOG_HOME -mmin +10 -type f)

#LS=$(ls -t $LOG_HOME | head -1)

#LS=`ls -t $LOG_HOME | head -1`


# tranfer log

expect <<EOF

spawn scp -oStrictHostKeyChecking=no $FIND $USER_NAME@$DTSERVER:/data/logs/script_test/

expect "password: "

        send "$PW\r"

expect eof

EOF