데이터를 백업하는 스크립트를 작성하려고 합니다. 나는 이것에 대해 잘 모르기 때문에 잘못된 방향으로 가고 있을 수도 있지만, 내가 하고 싶은 것은 백업하려는 각 디렉터리에 대해 rsync -avh를 여러 번 사용하는 것입니다. 그러나 대상을 하드코딩된 값( )으로 설정했습니다 ~/sbackup/
. 이제 스크립트를 실행하기 전에 폴더가 마운트되었는지 확인하고, 그렇지 않은 경우 마운트해 보세요. 따라서 스크립트 논리는 다음과 같습니다.
1) 내 USB 드라이브가 에 마운트되어 있는지 확인합니다 ~/sbackup/
. (CD - 다른 USB 장치가 CD에 마운트되지 않도록 하는 방법이 있으면 좋을 것입니다.)
2) 그렇지 않은 경우 해당 위치에 설치해 보십시오. 그렇지 않은 경우 오류 메시지를 작성하고 종료합니다.
3) 설치된 경우 나머지 스크립트를 실행합니다.
이제 오류 메시지 등을 작성할 수 있지만 1단계와 2단계의 첫 번째 부분은 잘 모르겠습니다.
답변1
명령이 있는 경우 mountpoint
:
mountpoint -q /local/mount/point || mount ...
답변2
인수 없이 실행하면 mount
마운트된 파티션 목록과 마운트 지점을 포함하여 이에 대한 일부 정보가 반환됩니다. 따라서 grep
마운트 출력에서 마운트 지점을 대상으로 지정하고 그에 따라 조치를 취할 수 있습니다.
if ! mount | grep -q sbackup; then
mount /dev/sdb1 /home/matthew/sbackup || echo "Couldn't mount" && exit
fi
/dev/sdb
USB 파티션과 matthew
사용자 이름을 변경하세요 . 설치 하려면 스크립트를 실행하세요 sudo
.