반응형

서버의 프로그램 소스 중 최근 변경된 파일만 찾아서 압축 후 FTP로 해당 파일을 전송하는 쉘 스크립트입니다.

최근 변경한 파일 압축 FTP전송 쉘스크립트 내용


현재 디렉토리 경로 위에 있는 www 폴더의 파일 중 최근 3일 이내 수정된 것을 찾습니다.
이 때 session 폴더는 제외합니다.
대상이 되는 파일을 backup_target.txt에 저장합니다.

find ../www -type f -mtime -3 | grep -v session > backup_target.txt

 

backup_target.txt 내의 파일만 압축을 합니다.

tar cvfz backup_20210630 -T backup_target.txt

 

 

쉘스크립트로 백업하려는 서버를 ftp로 접속하여 방금 tar로 압축한 파일을 업로드하는 문법입니다.

{server ip} : 서버 아이피
{id} : 로그인 아이디
{password} : 비밀번호

ftp -v -n {server ip} << EOF
user {id} {password}
prompt
cd ../backup
put $BACKUP_FILE
bye
EOF

 

전체 shell script 내용입니다.

#!/bin/sh

BACKUP_FILE=backup_$(date '+%Y%m%d').tgz 
TARGET_FILE=backup_target.txt

find ../www -type f -mtime -3 | grep -v session > $TARGET_FILE
tar cvfz $BACKUP_FILE -T $TARGET_FILE

ftp -v -n {server ip} << EOF
user {id} {password}
prompt
cd ../backup
put $BACKUP_FILE
bye
EOF

rm backup_*

 

백업한 서버는 backup이라는 폴더에 저장을 하였습니다.
실제로 반영의 backup 위의 www 폴더이므로 아래와 같이 압축해제를 합니다.

tar xvfz backup_20210630.tgz -C ../
반응형

+ Recent posts