웹사이트 검색

연결된 경우 USB 미디어에 파일을 자동 백업하는 방법


백업은 데이터 손실에 대한 최후의 방어 수단으로서 원본 데이터를 복원할 수 있는 수단을 제공합니다. 외장 하드 드라이브, USB 플래시 디스크, 공유 네트워크 폴더 등의 이동식 미디어나 원격 호스트를 사용하여 데이터를 백업할 수 있습니다. 기억할 필요 없이 중요한 파일을 자동으로 백업하는 것은 매우 쉽고 필수적입니다.

추가 읽기: 2018년 Linux 시스템을 위한 24가지 뛰어난 백업 도구

이 기사에서는 데이터를 Linux 시스템에 연결한 후 이동식 미디어에 자동 백업하는 방법을 알아봅니다. 외부 디스크로 테스트하겠습니다. 이것은 실제 솔루션에 udev 사용을 시작하기 위한 기본 가이드입니다.

이 기사의 목적을 위해서는 다음을 갖춘 최신 Linux 시스템이 필요합니다.

  1. 시스템화된 시스템 및 서비스 관리자
  2. udev 장치 관리자
  3. rsync 백업 도구

이동식 미디어에 대한 Udev 규칙을 구성하는 방법

Udev는 장치 이벤트 처리의 일부로 장치가 실행 중인 시스템에 추가되거나 제거될 때 프로그램이나 스크립트의 실행을 트리거할 수 있는 규칙을 정의할 수 있는 장치 관리자입니다. . 이 기능을 사용하면 실행 중인 시스템에 이동식 미디어를 추가한 후 백업 스크립트를 실행할 수 있습니다.

장치 이벤트 처리를 위한 실제 규칙을 구성하기 전에 백업에 사용될 이동식 미디어의 일부 속성을 udev에 제공해야 합니다. 외부 디스크를 실행 중인 시스템에 연결하고 다음 lsusb 명령을 실행하여 공급업체 및 제품 ID를 식별합니다.

테스트 목적으로 그림과 같이 1TB 외장 하드 디스크를 사용합니다.

lsusb

위 명령의 출력에서 장치 공급업체 ID는 125f이며, 아래 설명과 같이 udev 규칙에 지정합니다.

먼저 시스템에서 연결된 미디어를 제거하고 /etc/udev/rules.d/ 디렉터리 아래에 10.autobackup.rules라는 새 udev 규칙 파일을 만듭니다.

파일 이름의 10은 규칙 실행 순서를 지정합니다. 규칙이 구문 분석되는 순서는 중요합니다. 항상 기본값 이전에 구문 분석할 사용자 지정 규칙을 만들어야 합니다.

sudo vim /etc/udev/rules.d/10.autobackup.rules

그런 다음 다음 규칙을 추가합니다.

SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/autobackup.sh"

위의 규칙을 간단히 설명하자면 다음과 같습니다.

  • "==": 동등성을 비교하는 연산자입니다.
  • "+=": 항목 목록을 보유하는 키에 값을 추가하는 연산자입니다.
  • SUBSYSTEM: 이벤트 장치의 하위 시스템과 일치합니다.
  • ACTION: 이벤트 작업의 이름과 일치합니다.
  • ATTRS{idVendor}: 이벤트 장치의 sysfs 속성 값(장치 공급업체 ID)과 일치합니다.
  • RUN: 이벤트 처리의 일부로 실행할 프로그램이나 스크립트를 지정합니다.

파일을 저장하고 닫습니다.

자동 백업 스크립트 생성

이제 시스템에 연결되면 이동식 USB에 파일을 자동 백업하는 자동 백업 스크립트를 만듭니다.

sudo vim /bin/autobackup.sh 

이제 다음 스크립트를 복사하여 붙여넣고 스크립트에서 BACKUP_SOURCE, BACKUP_DEVICE 및 MOUNT_POINT 값을 바꿔야 합니다.

#!/usr/bin/bash
BACKUP_SOURCE="/home/admin/important"
BACKUP_DEVICE="/dev/external1"
MOUNT_POINT="/mnt/external"


#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then 
	/bin/mkdir  “$MOUNT_POINT”; 
fi

/bin/mount  -t  auto  “$BACKUP_DEVICE”  “$MOUNT_POINT”

#run a differential backup of files
/usr/bin/rsync -auz "$MOUNT_POINT" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit

그런 다음 다음 명령을 사용하여 스크립트를 실행 가능하게 만듭니다.

sudo chmod +x /bin/autobackup.sh

그런 다음, 다음 명령을 사용하여 udev 규칙을 다시 로드하세요.

udevadm control --reload

다음에 외부 하드 디스크나 구성한 장치를 시스템에 연결할 때 지정된 위치의 모든 문서가 자동으로 백업되어야 합니다.

참고: 이것이 얼마나 효과적으로 작동하는지는 이동식 미디어의 파일 시스템과 사용자가 작성한 udev 규칙, 특히 장치 속성 캡처에 의해 영향을 받을 수 있습니다.

자세한 내용은 udev, mountrsync 매뉴얼 페이지를 참조하세요.

man udev
man mount 
man rsync 

다음 Linux 백업 관련 기사를 읽어볼 수도 있습니다.

  1. rdiff-backup – Linux용 원격 증분 백업 도구
  2. Tomb – Linux용 파일 암호화 및 개인 백업 도구
  3. 시스템 Tar 및 복원 – Linux용 다목적 백업 스크립트
  4. Linux에서 이중성을 사용하여 대역폭 효율적인 백업을 만드는 방법
  5. Rsnapshot – Linux용 로컬/원격 백업 도구
  6. Rsync를 사용하여 두 개의 Apache 웹 서버/웹 사이트를 동기화하는 방법

지금은 여기까지입니다! 이 기사에서는 데이터를 Linux 시스템에 연결한 후 이동식 미디어에 자동 백업하는 방법을 설명했습니다. 아래 피드백 양식을 통해 귀하의 의견을 듣고 싶습니다.