sftp로 자동백업 쉘 스크립트

#!/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

Keep Reading

이전다음

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다