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


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.