[부사리]sftp로 자동백업 쉘 스크립트

By | 2018년 10월 23일
Print Friendly, PDF & Email

#!/bin/ksh
### xxxx_yyyymmdd 형식의 파일이름으로 저장되어 있는 디렉토리 중에 시스템시간기준 어제날짜를 찾아서
### tar로 묶고 백업서버로 전송하는 쉘
# 1. A -> B 서버 ssh 서비스 자동로그인 방법
# 1) A서버 계정 홈 .ssh디렉토리 생성
# 2) .ssh에서 ssh-keygen -t rsa
# 3) cat ~/.ssh/id_rsa.pub | ssh 계정id@서버ip “cat >> .ssh/authorized_keys”
# crontab 등록시 /xxx/xxx/sftp.sh >> /xxx/xxx/sftp_`date +%Y%m%d`.log 2>&1
# 어제 날짜
YDAY=`date +%Y%m%d –date ‘1 days ago’`
# 오늘 날짜
TDAY=`date +%Y%m%d`
USERID=sftp계정id
DOWNIP=백업보낼서버ip
#백업대상 디렉토리 정의
DRINAME=xxxx_$YDAY
#생성할 tar파일명 정의
TARFILE=$DIRNAME_$TDAY.tar.gz
#묶음 대상 데이터 위치
PATHDIR=/xxxx/xxxx/xxxx/xxxx/xxx
#전일 디렉토리 유무 확인
FINDNAME=`find $PATHDIR -type d -name $DRINAME | awk -F “/” ‘{print $6 “\n”}’`
#전일 디렉토리 있는지 체크 , FLASE 종료, TRUE 묶음 및 전송
if [ $FINDNAME -eq $DRINAME ]
then
#tar 생성
echo “Archiv & Put”
cd $PATHDIR
tar -zcvf $TARFILE $DRINAME
#tar 파일 전송
sftp $USERID@$DOWNIP<<EOF
cd $PATHDIR
lcd /xxx/xxx/tar.gz파일경로
put $TARFILE
quit
EOF
else
“error : $DRINAME”
exit
fi

관련 글

댓글 남기기(글만 입력하셔도되요. 이메일,이름,웹사이트 미입력 가능)

This site uses Akismet to reduce spam. Learn how your comment data is processed.