#! /bin/bash

echo ===========================START============================
echo start time: `date`
USER="guest"
PW="pass" #보안확인 필요
IP="10.100.3.10"
echo "backup server IP: " $IP
conditionFile="/var/log/dataBackup_*.log"
ls $conditionFile
if [[ ! "$?" -eq 0 ]]; then
	echo "conditionFile not exists"
    echo end time: `date`
    exit 0
fi

echo "wating for 5 sec..."
sleep 5

expect << EOL

set time -1
spawn rsync -ahvz --include=*.log* --exclude=* /var/log/ ${USER}@${IP}:/var/log/
# /var/log/ 하위에 .log 포맷만 대상으로 처리
expect "password:"
send "${PW}\n"
expect "]#"

set time -1
spawn rsync -ahvz --exclude=exclusive_dir /var/log/file_data/ ${USER}@${IP}:/var/log/file_data/
# /var/log/file_data/ 하위에 exclusive_dir이라는 디렉토리는 제외하고 대상 처리
expect "password:"
send "${PW}\n"
expect "]#"

EOL

backup_dirs=(
"/var/log/backup" 
"/var/log/file_data_backup"
)

for elem in "${backup_dirs[@]}"
do
	if [ ! -d #elem ]; then
    	mkdir $elem
        echo mkdir $elem
    fi
done

mv /var/log/*.log "${backup_dirs[0]}"
sleep 1
mv /var/log/file_data/* "${backup_dirs[1]}"

echo end_time: `date`
echo ===========================END============================

백업 서버로 로그파일을 백업하는 스크립트 

+ Recent posts