원격 SMB 서버가 설치되어 있는지 어떻게 확인하나요?

원격 SMB 서버가 설치되어 있는지 어떻게 확인하나요?

나는 아직 mount. 기본적으로 로컬 네트워크에 원격 SMB 서비스가 있고 해당 디렉터리에서 이미지를 복사한 다음 5분마다 반복하려고 합니다.

제가 해야 할 일은 서버가 설치되어 있는지 확인하는 스크립트를 만들고 그렇지 않은 경우 아무것도 하지 않고 rsync를 실행하는 것입니다.

(처음으로) crontab을 설정하여 디렉터리의 모든 기존 파일을 삭제한 다음 crontab을 실행할 수 있었지만 rsyncSMB 콘텐츠로 무엇을 해야 할지 잘 모르겠습니다. 설치하고 파일을 복사한 후 제거해야 합니까, 아니면 연결을 유지해야 합니까?

그런데 저는 OSX를 사용하고 있습니다.

답변1

서버가 대부분의 시간 동안 켜져 있고 연결되어 있을 것으로 예상되는 경우 설치를 그대로 두는 것이 좋습니다. 이렇게 하면 연결 설정에 따른 오버헤드를 일부 피할 수 있습니다. 반면, 네트워크 손실이나 유사한 연결 문제가 발생하는 경우 활성 마운트로 인해 새로 작성된 파일의 데이터가 손실될 수 있습니다. 네트워크가 없어져도 파일 시스템이 완전히 마운트 해제되지 않기 때문입니다. 예상치 못한 제거 후에 이 플래그를 추가하는 것이 --checksum현명할 수 있습니다 rsync. 그러면 파일 수정 시간(가정 --times)뿐만 아니라 파일 내용도 확인할 수 있습니다. 이렇게 하면 강제 제거로 인한 부정적인 영향이 줄어듭니다.

무언가가 설치되어 있는지 확인하려면 grep의 출력에서 ​​찾아보세요 mount.

또한 끊어진 연결로 인해 읽기 오류가 발생하는지 또는 프로그램이 중단되는지 여부를 결정하는 softhard옵션에 유의하십시오. 이 옵션을 사용하면 연결이 실패하더라도 설치된 리모컨을 볼 수 있을 것이라고 mount.cifs확신합니다 . hard에 대해서는 soft전혀 확신할 수 없습니다. 파일 시스템이 여전히 마운트되어 있으면 연결이 복원되었을 때 해당 파일 시스템에 액세스할 수 있을 가능성이 높습니다. 그러나 이 옵션을 사용하면 연결을 사용할 수 없는 경우 응답이 hard중단됩니다 rsync.

답변2

지금은 2022년 중반입니다.수락된 답변벌써 10살이에요. 나는 그 대답이 여전히 유효하다고 생각하지만 mount확실히 오늘날 작업에 가장 적합한 도구는 아닙니다. 내가 찾은이 Q&AOP와 똑같은 문제에 대한 해결책을 찾는 동안 Mac OS에서도 실행해야 합니다. 나도 Linux 사용자이기 때문에 사람들이 관심을 갖도록 업데이트를 시도해 봐야겠다고 생각했습니다 findmnt.

findmnt얼마나 오랫동안 사용되었는지는 모르겠지만 mount스크립팅에서 사용하는 것보다 장점이 많은 것 같습니다. 명령 findmntutil-linux다음과 같습니다.기본적으로대부분의 최신 시스템에서.

findmnt파일 시스템의 검색 엔진과 같습니다. 그것은 많이 있다필터옵션 - grep혼잡함 방지무늬이는 정의하기 어려울 수 있습니다. 일치하는 항목이 있으면 findmnt로 인쇄된 stdout다음 반환됩니다 0. 일치하는 항목이 없으면 findmnt간단히 반환됩니다 1.

Apple이 아직 그러한 도구를 제공하지 않는다는 것은 유감입니다! ICYWW는 util-linuxMacPorts에서 사용할 수 있지만 안타깝게도 findmnt.

관련 정보