연결된 USB 대용량 저장 장치와 자동으로 동기화하는 방법은 무엇입니까?

연결된 USB 대용량 저장 장치와 자동으로 동기화하는 방법은 무엇입니까?

나는 (현재) 3개의 모바일 USB 대용량 저장 장치(플래시 드라이브, 휴대폰, e-리더)를 가지고 있습니다. 내 모든 문서(예: 이력서, 여권, 연구 논문, 소스 코드 등)의 최신 버전을 항상 갖고 싶습니다.

내 파일은 자주 변경되므로 매일 수동으로 복사하는 것은 불가능합니다. 이상적으로는 플래시 드라이브(예를 들어)를 연결하고 컴퓨터가 자동으로 이를 인식하고, 마운트하고, 동기화하고, 제거하도록 하고 싶습니다.

다음 기능은 "훌륭할 것입니다":

  • GUI
  • 동기화가 시작/중지될 때 Xorg/KDE/Gnome을 통해 알림.
  • 그리고, 양방향 동기화도 가능합니다. 그러나 이것은 우선순위가 아닙니다.

이와 관련된 몇 가지 질문을 찾았습니다.

그러나 그들 중 누구도 내 질문에 완전히 대답하지 못했습니다. 충분한 시간이 주어지면 나 udev자신 등을 사용하여 무언가를 조립할 수 있다고 생각했습니다 . rsync하지만 나는 바퀴를 재발명하고 싶지 않습니다. 그리고 지금은 낭비할 필요가 없는 시간이다. 이상적으로는 기존 솔루션을 사용하고 싶지만 찾을 수 없습니다.

그렇다면 이와 같은 것을 설정하는 가장 빠른 방법은 무엇입니까?

답변1

udev/rsync 경로를 사용할 수 있지만 일부 스크립팅이 필요합니다. 확인하다이노티파이 도구그럼에도 불구하고 이는 파일 시스템 변경에 대한 알림을 애플리케이션에 보내는 데 유용합니다.

나는 로컬 파일 시스템을 동기화하기 위한 세 가지 GUI(빠른 설정) 도구를 알고 있습니다.

  1. 조화성숙하고 잘 문서화되어 있습니다. 모니터링 방법은 약간 구식이지만 inotify를 통해 자동화할 수 있습니다(여전히 일부 스크립팅이 필요함).

  2. 디렉토리 동기화 프로자유 소프트웨어처럼 들리지는 않지만 그렇습니다.

  3. 무료 파일 동기화최근에 출시되었지만 유망해 보입니다. 디렉터리 비교를 일괄 처리로 저장하고 외부 드라이브 장착과 같은 이벤트 동기화를 트리거하는 옵션이 있습니다.

답변2

@dartonw의 좋은 답변 외에도 simlpe 양방향 동기화를 위해 bash 스크립트를 사용하려는 경우 다음을 사용할 수도 있습니다.동기화이 방법

#!/bin/sh
exitcode=1 
#do check if usb flash is mounted
if test -e '/your_path_to_usb_mountpoint';then 
exitcode=0
#from folder to usb if the files are newers
rsync -avun --inplace  /your_folder_wich_you_want_to_syncronize/ /your_path_to_usb_mountpoint ;
#from usb to folder if the files are newers
rsync -avun --inplace /your_path_to_usb_mountpoint/ /your_folder_wich_you_want_to_syncronize/ 
fi 
#if the flash is not mounted exit with exitcode=1 
exit $exitcode

관련 정보