✅ 1. 백업 스크립트 (조건문 + 날짜별 관리)

📌 요구사항

#!/bin/bash

SOURCE="/home/user/data"
BACKUP_DIR="/home/user/backup"
DATE=$(date +%Y%m%d)

# 백업 디렉토리 없으면 생성
if [ ! -d "$BACKUP_DIR" ]; then
  echo "백업 디렉토리가 없어서 새로 생성합니다."
  mkdir -p "$BACKUP_DIR"
fi

# 백업 실행
tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE"
echo "✅ 백업 완료: $BACKUP_DIR/backup_$DATE.tar.gz"

# 7일 이상 된 오래된 백업 삭제
find "$BACKUP_DIR" -name "backup_*.tar.gz" -mtime +7 -exec rm {} \\;
echo "🗑 오래된 백업 파일 삭제 완료"

💡 포인트


✅ 2. 시스템 상태 모니터링 (조건문 + 로그 기록)

📌 요구사항

#!/bin/bash

LOG_FILE="/var/log/syscheck.log"
CPU=$(top -bn1 | grep "Cpu(s)" | awk '{print 100 - $8}')   # idle 퍼센트 제외
MEMORY=$(free | awk '/Mem/{printf("%.0f"), $3/$2 * 100}')  # 사용 메모리 %

echo "[$(date)] CPU: $CPU%  Memory: $MEMORY%" >> $LOG_FILE

if (( $(echo "$CPU > 80" | bc -l) )); then
  echo "⚠ CPU 사용률이 80% 이상입니다! 현재: $CPU%" | tee -a $LOG_FILE
fi

if [ "$MEMORY" -ge 90 ]; then
  echo "⚠ 메모리 사용률이 90% 이상입니다! 현재: $MEMORY%" | tee -a $LOG_FILE
fi

💡 포인트