네트워크 공유 마운트 및 마운트 지점의 기존 파일과 병합


1

Raspberry Pi 3 (Rasbian Jesse)에서 실행되는 프로그램이있는 디렉토리에 파일을 놓습니다 /mount-point. 부팅, 나는라는 Windows 공유 장착하고 /incoming에를 /mount-point. 이러한 파일이 공유에 삭제 될 때 이러한 파일을 처리하는 Windows 프로그램이 있습니다.

mount -t cifs -o username=<share user>,password=<share password> //<Win-IP>/c/incoming /home/pi/mount-point

네트워크가 다운되면 문제가 발생합니다. 네트워크가 다운 된 경우, Linux 프로그램은 파일을 /mount-point디렉토리에 계속 드롭합니다 . 네트워크가 다시 켜지면 Windows 공유가 다시 마운트되고 현재 파일이 마운트 /mount-point되어 사라집니다.

현재 공유중인 파일을 /mount-point숨기지 않고 /incoming창에 표시 되도록 창 공유를 "병합 마운트"하는 방법이 있습니까?

답변:


4

이와 같이 마운트 지점의 내용을 직접 병합 할 수있는 방법이 없습니다. 가장 가까운 옵션은 공용체 / 과도하게 마운트를 사용하는 것이지만 네트워크로 연결된 파일 시스템에서는 안정적으로 작동하지 않으며,이 경우 전혀 작동하지 않기 위해해야 ​​할 일은 직관적이지 않습니다.

이상적으로는 다음 중 하나를 수행해야합니다.

  1. 프로그램이 공유가 마운트되었는지 여부를 감지 한 다음 공유가 마운트되지 않은 경우 파일을 캐시하도록 한 다음 공유 될 때 파일을 쓰도록하십시오.
  2. 프로그램이 별도의 위치에 데이터를 쓰도록하고, 정기적 인 작업 (cronjob 또는 systemd timer 사용)을 사용하여 파일이 마운트 된 경우 공유에 파일을 복사하십시오.

두 경우 모두 통합 마운트보다 강력하며 두 가지 경우 모두 기본 스토리지 구성에 대해 훨씬 더 독립적입니다 (유지 관리에 좋은 것임).


답장을 보내 주셔서 감사합니다. 불행히도 타이밍은 파일이 처리되는 요소입니다.
S 5

1
필자는 파일을 / mount-point에서 복사하려고 시도하고 공유를 다시 연결 한 다음 파일을 새 / mount-point 공유로 다시 복사하는 bash 스크립트를 작성한다고 생각합니다. 도와 주셔서 감사합니다!
S 5

@AustinHemmelgarn AUFS가 SMB 지원 유니온 마운트를 올바르게 처리하지 않을 것이라고 확신합니까? 내 인터넷 검색에서 제대로 작동하는 것 같습니다.
davidgo

@ davidgo 나는 AUFS에 대해 잘못되었지만 (업스트림 인 OverlayFS는 아님) 타사 모듈을 빌드하고로드해야하며 다른 문제가 있습니다. 즉, 여전히 추가 추적이 필요하다는 흥미로운 방법으로 실패합니다 분기 중 하나가 오프라인 상태가되어 Pi의 파일 시스템에서 로컬 복사본을 쉽게 제거 할 수없는 경우 마지막 비트는 내가 생각하지 않은 것을 가져옵니다. 즉, 현재의 경우와 달리 Pi에서 Windows로 파일을 공유하는 것이 더 좋을 수도 있습니다.
Austin Hemmelgarn

0

어떤 식 으로든 마운트하는 것이 가능하지만 (아직 다소 성가신) Linux 는 동일한 디렉토리에서 로컬 및 원격 파일을 봅니다. 그러나 Windows는 Windows 측에 존재하는 파일 만 볼 수 있습니다.

공유가 마운트되지 않았을 때 존재하지 않는 파일을 /mount-point/some-dir/대신 이동하도록 프로그램에 지시 하면 나중에 시도하기에 충분하지 않을 수도 있습니다. 충분히 똑똑하다면 이것이 가장 쉬운 해결 방법 일 수 있습니다.

똑똑하지 않다면 파일을 다른 디렉토리 로 옮기고 크론 작업을 실행하여 파일을 공유로 옮깁니다. 충분히 똑똑하게 만드십시오. mv대상 디렉토리가 없으면 단순 이 중단됩니다.


2
Windows 공유에 하위 디렉토리를 작성하는 대신 (공유가 마운트 될 때 마운트 지점 아래에 표시됨) chmod기본 /mount-point디렉토리에 555까지 충분할 수 있습니다 (즉, 공유가 마운트되지 않은 경우 수행). 또한 공유가 마운트되지 않은 경우 (프로그램이 특권을 실행하지 않는 한) 이동 조작이 실패하게됩니다.
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.