잡담 btrfs 파일시스템 관리용 스크립트.

페이지 정보

profile_image
작성자캣타워 조회 1,725회 작성일 2025-09-20 21:59:01 댓글 2

본문

좀 써먹어볼라고 하니까 귀찮은게 많네 

 

02fc2-68cea3116fd64-716969e80b49bc411b911558b600258d81573254.png

 

 

문제가 있다면 휴대용 게이밍 피씨 (스팀머신)에서 채용한 파일시스템 저거라서 알아서 써먹을라면 저걸 돌려줘야한다는거...

 

오죽하면 자동화 셸스크립트 만들어서 크론 등록해서 돌리라고 하겠냐고 

 

btrfs_maintenance.sh

 

#!/bin/bash
# btrfs 정기 유지보수 스크립트
# 실행: sudo ./btrfs_maintenance.sh
# 권장: 매월 cron에 등록

# ------------------------------
# 설정 부분
# ------------------------------
MOUNTPOINT="/mnt/your_btrfs"   # btrfs 마운트 지점
SNAPSHOT_DIR="$MOUNTPOINT/.snapshots"
DEVICE="/dev/sdX"              # btrfs 장치
BACKUP_DIR="/mnt/backup_btrfs" # btrfs send/receive 백업 위치 (선택)

# 오늘 날짜
DATE=$(date +"%Y-%m-%d")

# 로그 파일
LOGFILE="/var/log/btrfs_maintenance_$DATE.log"

echo "==== BTRFS Maintenance 시작: $DATE ====" | tee -a $LOGFILE

# ------------------------------
# 1. scrub 실행
# ------------------------------
echo "[1] Scrub 실행..." | tee -a $LOGFILE
btrfs scrub start -Bd $MOUNTPOINT >> $LOGFILE 2>&1

# ------------------------------
# 2. 부분 balance 실행
# ------------------------------
echo "[2] Balance 실행..." | tee -a $LOGFILE
btrfs balance start -dusage=75 -musage=75 $MOUNTPOINT >> $LOGFILE 2>&1

# ------------------------------
# 3. 스냅샷 생성
# ------------------------------
echo "[3] Snapshot 생성..." | tee -a $LOGFILE
mkdir -p $SNAPSHOT_DIR
btrfs subvolume snapshot $MOUNTPOINT $SNAPSHOT_DIR/snap_$DATE >> $LOGFILE 2>&1

# ------------------------------
# 4. (선택) 스냅샷 send/receive 백업
# ------------------------------
if [ -d "$BACKUP_DIR" ]; then
  echo "[4] Snapshot send/receive 백업..." | tee -a $LOGFILE
  btrfs send $SNAPSHOT_DIR/snap_$DATE | btrfs receive $BACKUP_DIR >> $LOGFILE 2>&1
else
  echo "[4] 백업 디렉토리 없음, 건너뜀." | tee -a $LOGFILE
fi

# ------------------------------
# 5. SMART 검사
# ------------------------------
echo "[5] SMART 디스크 상태 검사..." | tee -a $LOGFILE
if command -v smartctl &> /dev/null; then
  smartctl -H $DEVICE >> $LOGFILE 2>&1
else
  echo "smartctl 없음. smartmontools 설치 필요." | tee -a $LOGFILE
fi

echo "==== BTRFS Maintenance 완료 ====" | tee -a $LOGFILE

 

 

이런게 다 한번 당해보지 않으면 습득되지 않는 정보인데 

 

이렇게 따로 관리를 해줘야한다는거 자체가 하자품인게 아닌지 ㅉ

댓글목록

마이벙커님의 댓글

profile_image 마이벙커 작성일
왜 이런걸 선택했지..

그냥 쓰던거 쓰지..

포맷바꾼다고 퍼포먼스가 확 차이나지도 않을텐데

캣타워님의 댓글의 댓글

profile_image 캣타워 원글 작성일
호환성이 좋답니다
리눅스랑 윈도우랑 양쪽에서 접근하기 좋다나 뭐라나...
FAT는 뭐 워낙 한계가 명확하고 ㅠ
전체 6,267건 65 페이지
게시물 검색