테이프 백업 HP Ultrium 460

테이프 백업 HP Ultrium 460

Debian 8에 연결된 하위 테이프 드라이브(LTO-2 테이프, SCSI 연결)가 있습니다. "세션" 작성이 가능한지 이해가 안 가나요? 그렇다면 어떻게 해야 올바르게 수행되어야 합니까?

내 말은 somedir1테이프에 한 번 쓰고 일정 시간 후에 somedir2같은 테이프에 써야 하며, 테이프 장치는 somedir2테이프에 기록된 데이터에 "연결"되어야 한다는 것입니다. CD/DVD에 다중 세션 쓰기와 같은 것입니다.

왜냐하면 지금은 "세션"을 생성하는 방법을 찾을 수 없기 때문입니다.

내가 쓰는 방법:

mt -f /dev/st0 eod- 테이프를 데이터 끝으로 설정

tar -czf /dev/st0 /somedir1- 글쓰기somedir1

mt -f /dev/st0 eod- 테이프를 데이터의 끝 부분으로 다시 설정합니다(테이프 장치가 되감기 현상 발생).

tar -czf /dev/st0 /somedir2- 글쓰기somedir2

mt -f /dev/st0 rewind- 되감기.

그런 다음 데이터를 읽을 때 목록이 아닌 목록 tar -tzf /dev/st0만 나열됩니다 .somedir2somedir1

답변1

테이프 백업에 대한 몇 가지 참고 사항. 누군가가 유용하다고 생각할 수도 있습니다 ...

  1. 쓴 후 되감지 않음 - /dev/nst0장치 사용(Linux용)
  2. 쉘 변수 설정TAPE=/dev/nst0
  3. 헤드를 테이프의 시작 부분으로 설정합니다.mt rewind
  4. 헤드를 테이프에 기록된 데이터 블록의 끝으로 설정합니다.mt eod
  5. 현재 테이프 위치 가져오기: 합계 값 mt status보기File numberblock number
  6. 테이프 헤더를 이전 블록의 시작 부분으로 설정합니다: mt bsf 2; mt fsf. 헤드를 테이프 시작 부분으로 설정을 사용하지 마십시오. 되감기를 사용하십시오.
  7. tar czv <dir_or_file><dir_or_file>- 테이프 에 쓰기
  8. tar tzv- 테이프(파일 목록)에서 현재 데이터 블록의 내용을 가져옵니다.
  9. 때때로 오류가 발생함 - mt retension소프트 오류를 ​​재설정하는 데 사용됨

기본 테이프 작업이 포함된 일부 빠른 bash 스크립트:

#!/bin/bash

export TAPE="/dev/nst0"
############################################
function anykey {
      read -n 1 -p "Press any key to continue..."
}

while true; do
clear
cat <<EOF
Choose action:

1. Show tape status
2. Show list of files of current block
3. Write new data (append tape)
4. Rewind tape (Set to BOT)
5. Wind tape (Set to EOD)
6. Set head to N blocks before
7. Set head to N blocks after
8. Extract data from current block
9. Erase tape

0. Exit
-----

EOF
read -p "Select action: " ans

case $ans in
    1).
      echo "====="; mt status ; echo "====="; anykey ;;
    2)
      echo "====="; tar tzv; echo "====="
      echo "Rewinding to the beginning of current block..."
      mt bsf 2; mt fsf
      echo "Done"; anykey ;;
    3).
      read -p "Select file or directory: " path
      cd $(dirname $path)
      if [ $? -ne 0 ]; then
          anykey
          continue
      fi..
      echo "Positioning to the end of written data..."
      mt eod; tar czv $(basename $path) -C $(dirname $path)
      echo "Done"; anykey ;;
    4).
      echo "Rewinding tape..."; mt rewind; echo "Done"; anykey ;;
    5).
      echo "Winding tape..."; mt eod; echo "Done"; anykey ;;
    6)
      read -p "Enter number of blocks before to set to: " ans
      mt bsf $(($ans+1)); mt fsf
      echo "Done"; anykey ;;
    7)
      read -p "Enter number of blocks after to set to: " ans
      mt fsf $ans; echo "Done"; anykey ;;
    8)
      read -p "Enter folder where to extract: " path
      cd $path
      if [ $? -ne 0 ]; then
          anykey
          continue
      fi
      read -p "Extract all data from this block? [Y|n]: " ans
      if [ $ans == "n" ]; then
          read -p "Enter file or dir name: " ans
          tar zxpv $ans
      else
          tar zxpv
      fi
      echo "Done"; anykey ;;
    9)
      echo "WARNING! Erasing will destroy ALL data on tape! Continue? [y|n]"; read ans
      if [ $ans == "y" ]; then
          echo "Rewinding tape..."; mt rewind;.
          echo "Erasing tape. This is quite long operation..."; mt erase; echo "Done"
      fi
      anykey ;;
    0) exit 0 ;;
    *) continue ;;
esac
done

테이프 드라이브 장치

답변2

되감기가 아닌 장치가 꺼져 있을 때 되감기를 /dev/nst0사용해야 합니다 . 현재 작업 흐름에서는 항상 테이프의 시작 부분에 씁니다.../dev/st0/dev/nst0

테이프 표시를 살펴볼 수도 있습니다( mt문서 참조).

관련 정보