linuxfromscratch:12.4:linux_from_scratch:backup_and_restore

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linuxfromscratch:12.4:linux_from_scratch:backup_and_restore [2026/03/02 01:06] baecylinuxfromscratch:12.4:linux_from_scratch:backup_and_restore [2026/03/02 03:05] (현재) baecy
줄 12: 줄 12:
   - 준비 사항: /etc/fstab 확인, LFS 파티션 마운트, tar, pv, xz 설치 확인 \\ <codeprism lang=bash>   - 준비 사항: /etc/fstab 확인, LFS 파티션 마운트, tar, pv, xz 설치 확인 \\ <codeprism lang=bash>
 export LFS=/mnt/lfs                                # LFS "/" 파티션 export LFS=/mnt/lfs                                # LFS "/" 파티션
-export WAREHOUSE=/mnt/nfs/warehouse/lfs            # 백업 파일이 저장될 위치 +export LFS_DEPOT=/mnt/nfs/warehouse/lfs            # 백업 파일이 저장될 위치
-grep $LFS /etc/fstab                               # /etc/fstab에 $LFS 디렉터리 설정 확인+
 mountpoint -q $LFS || sudo mount $LFS              # 마운트 상태 확인 필요시 마운트 mountpoint -q $LFS || sudo mount $LFS              # 마운트 상태 확인 필요시 마운트
 +mountpoint -q $LFS_DEPOT                           # 확인후 마운트
 for prog in tar xz pv; do                          # tar, xz, pv 설치 확인 for prog in tar xz pv; do                          # tar, xz, pv 설치 확인
     if command -v "$prog" >/dev/null 2>&1; then     if command -v "$prog" >/dev/null 2>&1; then
줄 25: 줄 25:
   - Backup \\ <codeprism lang=bash>   - Backup \\ <codeprism lang=bash>
 cd $LFS cd $LFS
 +sudo -s
 tar -cp --numeric-owner \ tar -cp --numeric-owner \
     --exclude='proc' --exclude='sys' --exclude='dev' --exclude='run' . | \     --exclude='proc' --exclude='sys' --exclude='dev' --exclude='run' . | \
-    xz -9 --threads=$(nproc) --memory=80% -vv > "${WAREHOUSE}/lfs+blfs-12.4.tar.xz"+    xz -9 --threads=$(nproc) --memory=80% -vv > "${LFS_DEPOT}/lfs+blfs-12.4.tar.xz"
 </codeprism> </codeprism>
   - Restore \\ <codeprism lang=bash>   - Restore \\ <codeprism lang=bash>
줄 49: 줄 50:
 if [ "$INTERVAL" -le 0 ]; then INTERVAL=1; fi if [ "$INTERVAL" -le 0 ]; then INTERVAL=1; fi
  
-# 3. 사용자에게 정보 출력 (친절한 도구의 정석)+# 3. 사용자에게 정보 출력
 echo "검증 대상: $TOTAL_FILES 파일 (1% 진행당 $INTERVAL 파일 처리)" echo "검증 대상: $TOTAL_FILES 파일 (1% 진행당 $INTERVAL 파일 처리)"
  
줄 59: 줄 60:
 echo "무결성 검증이 완료되었습니다." echo "무결성 검증이 완료되었습니다."
 </codeprism> </codeprism>
 +tar 검증 과장에 예상 시간 추가 (위의 내용에 통합 필요)
 +<codeprism lang=bash>
 +# 1. 실제 대상 디렉터리($LFS)에 테스트 공간 확보
 +TEST_DIR="${LFS}/.bench_tmp"
 +mkdir -p "$TEST_DIR"
 +
 +# 2. 실제 디스크에 쓰기 (I/O 쓰기 속도 포함)
 +dd if=/dev/zero of="${TEST_DIR}/bench_file" bs=1M count=100 conv=fdatasync 2>/dev/null
 +
 +# 3. 압축/풀기 테스트 (실제 디스크에서 읽기 + CPU 압축 + 디스크 쓰기)
 +START_TIME=$(date +%s.%N)
 +xz -9 --threads=$(nproc) "${TEST_DIR}/bench_file"
 +END_TIME=$(date +%s.%N)
 +
 +# 4. 결과 계산 및 정리 (테스트 파일 삭제 필수)
 +SEC_PER_100MB=$(echo "$END_TIME - $START_TIME" | bc)
 +rm -rf "$TEST_DIR"
 +</codeprism>
 +설정, 로직 , 함수 분리후 prefix_ 로 구분
 <WRAP group> <WRAP group>
 ----- -----
 </WRAP> </WRAP>
  
  • linuxfromscratch/12.4/linux_from_scratch/backup_and_restore.1772413576.txt.gz
  • 마지막으로 수정됨: 2026/03/02 01:06
  • 저자 baecy