이제부터 날짜별로 백업하자
if [조건식]
then
....
elif [조건식]
then
....
else
....
fi
while [조건]
do
명령
done
#!/bin/bash
# =============== 🎨 스타일 함수 ================
bold=$(tput bold)
normal=$(tput sgr0)
green="\033[1;32m"
red="\033[1;31m"
yellow="\033[1;33m"
blue="\033[1;34m"
cyan="\033[1;36m"
reset="\033[0m"
function title() { echo -e "${blue}${bold}🔷 $1${reset}"; }
function success() { echo -e "${green}✅ $1${reset}"; }
function error() { echo -e "${red}❌ $1${reset}"; }
function warn() { echo -e "${yellow}⚠️ $1${reset}"; }
function info() { echo -e "${cyan}ℹ️ $1${reset}"; }
# =============== 📦 백업 시작 ================
today=$(date +%Y_%m_%d)
backup_file_name="backup_$today.tar.gz"
# ✅ 백업할 여러 디렉토리
backup_target_dirs=(
"dir1"
"dir2"
)
backup_output_directory="backup_dir" # 백업 저장 경로
backup_path="$backup_output_directory/$backup_file_name"
echo
title "📦 Backup Script"
echo "📅 Date : $today"
echo "📂 Target Dirs :"
for t in "${backup_target_dirs[@]}"; do echo " 📁 $t"; done
echo "💾 Output Path : $backup_path"
echo "─────────────────────────────────────────────"
# ✅ 경로 확인
for dir in "${backup_target_dirs[@]}"; do
if [ ! -d "$dir" ]; then
error "대상 디렉토리가 존재하지 않음: $dir"
exit 1
fi
done
# ✅ 압축 수행
echo
title "🚀 압축 중..."
tar -czf "$backup_path" "${backup_target_dirs[@]}"
if [ $? -eq 0 ]; then
success "압축 성공!"
info "🔖 생성된 파일: $backup_path"
else
error "압축 실패!"
fi
echo
title "🏁 백업 스크립트 종료"
echo