연결된 USB 드라이브에 자동으로 설치 및 백업

연결된 USB 드라이브에 자동으로 설치 및 백업

안녕하세요, Unix 및 Linux 애호가 여러분!

나는 약 2일 동안 내 문제에 대한 해결책을 찾고 있었지만 적절한 해결책을 찾을 수 없습니다. 나는 raspbian을 실행하는 라즈베리 파이에 연결된 USB 스틱에 내 파일을 백업하고 싶습니다.

누락된 내용을 확인할 수 있도록 제가 알고 있는 내용을 여기에 적습니다.

  1. rsync를 사용하는 것이 내 목적에 가장 적합하며 작동할 것입니다.

    rsync -v /home/pi/data /mnt/usb

  2. crontab에 작업을 추가할 수 있습니다.

    crontab -e

    0 0 * * * rsync -v /home/pi/data /mnt/usb

이렇게 하면 매일 데이터가 백업됩니다(처음 5개 플래그는 시간 설정입니다: 분, 시, 일, 월, 일요일, 그다음 실행해야 하는 명령 또는 스크립트).

  1. 다음과 같이 USB 스틱을 수동으로 마운트할 수 있습니다.

    sudo mount -t vfat /dev/sda1 /mnt/usb

그러나 누락된 사항은 다음과 같습니다.

  • /mnt/usb(또는 /mnt/usb1, /mnt/usb2 등) 디렉토리에 삽입된 각 USB 스틱을 자동으로 마운트하려면 어떻게 해야 합니까?

  • rsync를 사용하여 각 폴더 경로의 데이터를 동기화하는 방법은 무엇입니까? 루프가 있는 쉘 스크립트가 필요합니까, 아니면 다음과 같이 사용할 수 있습니까? rsync -v /home/pi/data /mnt/usb*?

귀하의 도움에 미리 감사드립니다. 감사합니다.

답변1

이제 할 수 있어요

Arkadiusz Drabczyk가 게시한 튜토리얼 사용: http://www.axllent.org/docs/view/auto-mounting-usb-storage/

미디어 폴더에서 usbhd로 시작하는 모든 폴더를 찾아 동기화하는 짧은 스크립트를 만듭니다. POISX 의미 체계를 지원하지 않는 Windows fat 형식에는 "-rtuv"를 사용합니다. 이 모든 것이 다음 스크립트로 이어집니다.

sudo find /media -maxdepth 1 -name "usbhd*" | awk '
{
    cmd = "rsync -rtuv --exclude '\''.*'\'' /home/pi/test "$0
    system(cmd)
}' > /dev/null 2>&1

주기적으로 스크립트를 호출하려면 crontab에 줄을 추가하세요. 통화: crontab -e 회선 추가(매시간 통화 스크립트):

0 * * * * . /scriptpath/myscript.awk

그게 다야.

관련 정보