sshfs 디렉토리를 다시 마운트하세요. 어떻게 처리하나요?

sshfs 디렉토리를 다시 마운트하세요. 어떻게 처리하나요?

원격 디렉터리에 액세스하고 일부 작업을 스크립트로 작성하려는 파일이 많이 있습니다 sshfs. 실제로는 서로 다른 시간에 서로 다른 파일에 액세스하고 해당 파일에 대해 서로 다른 작업을 수행하고 싶습니다.

옵션 1: 전체 디렉터리를 마운트합니다(스크립트 하나). 그런 다음 선택한 파일별 스크립트를 실행합니다.

옵션 2: 파일별 스크립트를 사용하여 디렉터리를 마운트하는 프로세스를 번들로 묶습니다.

옵션 1의 단점: 파일별 스크립트를 실행하기 전에 폴더가 마운트되었는지 여부를 잊어버립니다. 확인 시간은 10초밖에 걸리지 않지만 약간 짜증이 납니다. 이 폴더가 항상 또는 기본적으로 마운트되는 것을 원하지 않습니다.

sshfs옵션 2의 단점: 두 번째 또는 세 번째 파일을 처리할 때 결국 마운트된 원격 디렉터리를 사용하게 됩니다 . 이것이 해를 끼칠까요?

옵션 2와 관련하여 다음과 같이 디렉터리가 이미 마운트되어 있는지 확인할 수 있을 것 같습니다.bash를 사용하여 디렉토리가 설치되어 있는지 확인하세요.. 이것이 최선의 해결책처럼 들리나요?

답변1

"옵션 2"에 대해 말하자면, 이미 마운트된 원격 디렉터리를 마운트하는 것은 좋은 생각이 아닙니다. 다른 장착 지점에 설치하는 경우, 사용 방법에 따라 잠금 장치가 손실됩니다. 또한 기본적으로 fuse마운트 지점이 비어 있지 않으면 마운트가 이루어지지 않습니다.

IMHO, 가장 좋은 방법은 당신이 말한 것입니다. 원격 디렉토리가 마운트되었는지 확인하고 그렇지 않은 경우 마운트하십시오. 스크립트에 몇 줄만 추가하면 관리가 쉽습니다. 예를 들어:

REMOTE="user@remote:/some/dir"

MOUNTPOINT=$( mount | grep -E "^${REMOTE}/? " | awk '{print $3}' )
if [ -z "$MOUNTPOINT" ] ; then
    echo "Mounting remote directory..."
else
    echo "$REMOTE is already mounted on $MOUNTPOINT"
fi

관련 정보