파일 시스템이 마운트 된 경우에만 RSync
문제
원격 시스템을 백업 파티션에 재 동기화하는 크론 작업을 다음과 같이 설정하고 싶습니다. 라코 디스
"설정하고 잊어 버릴"수 있기를 원하지만 /mnt/remote1
가 마운트 해제되면 어떻게됩니까?(재부팅 후 등) 로컬 파일 시스템을 채우는 대신 /mnt/remote1
가 마운트되지 않은 경우 오류가 발생하고 싶습니다.
수정 :
여기 내가 스크립트를 위해 생각해 낸 것, 정리 개선에 감사드립니다 (특히 비어있는 경우 ... 그렇지 않으면 비워 둘 수 없거나 bash 오류)
라코 디스
해결책
/proc/mounts
에서 마운트 된 파티션 목록을 가져오고 /mnt/remote1
만 일치시킨 다음 (마운트 된 경우 grep의 출력을 /dev/null
로 전송) rsync
작업을 실행하세요.
최근 grep
에는 출력을 -q
로 보내는 대신 사용할 수있는 /dev/null
옵션이 있습니다.
다른 팁
mountpoint
가 이에 대한 최상의 솔루션 인 것 같습니다. 경로가 마운트 지점이면 0을 반환합니다.
라코 디스
Linux 질문 .
빠른 Google이 파일 시스템이 마운트되었는지 확인할 수있는이 bash 스크립트를 안내했습니다.df 또는 mount의 출력을 검색하는 것이 방법 인 것 같습니다. 라코 디스
- 아래 스크립트를 복사하여 파일 (예 : backup.sh)에 붙여 넣습니다.
- 스크립트를 실행 가능하게 만듭니다 (예 :
chmod +x backup.sh
) -
backup.sh [username (for rsync)] [backup source device] [backup source location] [backup target device] [backup target location]
형식을 사용하여 스크립트를 루트로 호출!!!주의 !!!코드를 이해하지 않고 루트 사용자로 스크립트를 실행하지 마십시오!
설명 할 것이 없다고 생각합니다.코드는 간단하고 잘 문서화되어 있습니다. 라코 디스
나는 이것을 훑어보고 있지만 rsync -e ssh를 선호하고 계정을 수락하도록 키를 설정하는 것이 좋습니다.