덮개를 닫을 때 모든 외부 드라이브를 마운트 해제하도록 Macbook을 구성 할 수 있습니까?


10

매버릭스를 실행하는 새로운 13 "Macbook Pro가 있습니다.이 컴퓨터는 Time Machine 백업 및 외부 저장 용으로 사용되는 외부 USB 드라이브에 연결되어 있습니다. Time Machine 백업은 하루에 몇 번 발생하며 드라이브는 대부분 비활성 상태입니다. 그 날.

회의, 서버 룸 또는 하루가 끝나고 집으로 향할 때 다음을 수행하고 싶습니다.

  1. Macbook의 뚜껑을 빠르게 닫습니다.
  2. Mac이 가능한 빨리 모든 외장 드라이브를 자동으로 마운트 해제하고 필요한 경우 강제로 마운트 해제하십시오. 모든 표시등이 꺼질 때까지 몇 초 기다립니다.

Mac의 덮개를 닫 자마자 컴퓨터가 모든 외부 드라이브를 자동으로 마운트 해제 할 수있는 방법이 있습니까?

현재 외장 드라이브를 마운트 해제하는 것을 잊어 버린 경우, Mac에서 나중에 "디스크가 올바르게 추출되지 않았습니다. 가능하면 디스크를 분리하거나 끄기 전에 항상 디스크를 추출하십시오"라는 오류가 발생합니다.

디스크 인터페이스를 제거하기 전에 항상 디스크를 깨끗하게 마운트 해제하는 것이 가장 좋은 방법이라는 것을 알고 있지만 자동화 된 솔루션을 찾고 있습니다. 다음의 후속 백업 중 하나가 작동하고 백업에서 복원 할 필요가 없기 때문에 하나의 Time Machine 백업 이미지가 중단되거나 손상된 경우에는 크게 걱정하지 않습니다. 파일 시스템은 저널링 파일 시스템이므로 저널은 다른 많은 파일 시스템 손상 오류를 투명하게 처리합니다.


계정에서 로그 아웃하면 모든 드라이브가 마운트 해제되므로 로그 아웃하면 큰 단점이 있습니까? 또한 OS가 모든 파일 시스템 IO 쓰기를 플러시한다고 생각하므로 저널링 된 파일 시스템의 경우 수면 중 배출과 관련된 실제 문제의 가능성이 상당히 낮습니다.
bmike

답변:


8

절전 모드에서 스크립트를 실행할 수있는 많은 앱이 있습니다.

  • SleepWatcher — 간단하면서도 효과적입니다.
  • 시나리오 — 깨우기 후와 같은 다른 시간에 스크립트를 실행할 수도 있습니다.
  • ControlPlane —보다 사용자 정의가 가능하며 다양한 이벤트 후에 스크립트를 실행할 수 있습니다.

다음과 같은 bash 스크립트는 지정된 모든 디스크를 마운트 해제합니다.

VOLUMES="/Volumes/drive1 /Volumes/drive2 /Volumes/drive3"
for volume in $VOLUMES ; do [ -d $volume ] && umount -f $volume done

다음을 제외한 모든 볼륨을 마운트 해제하려면 /:

umount -A

더 깨끗하게…

osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'

6

또 다른 옵션은 Jettison (App Store를 통해 사용 가능)입니다. 지금 몇 달 동안 사용해 왔으며 전혀 문제가 없었습니다. 최근에 절전 모드를 해제하면 여전히 연결된 디스크를 자동으로 다시 마운트하는 옵션이 제공됩니다.

최신 v1.3.0 (직접 다운로드 전용-App Store로 이동하는 것으로 가정) 비용이 더 많이 들며 이것이 FAQ에있는 이유를 설명합니다.

올바르게 읽으면 2 달러에 App Store 버전을 구입 한 다음 무료로 직접 다운로드 버전으로 업그레이드 할 수는 있지만 확인하지는 않았습니다.

어느 쪽이든 가격이 비싸지는 않지만 SleepWatcher 옵션처럼 무료는 아닙니다.


4

@grgarside의 답변에 대해 자세히 설명하겠습니다.

SleepWatcher를 사용하고 있습니다

  1. 포트에서 설치

    sudo port install sleepwatcher
    
  2. 에서 /opt/local/share/doc/sleepwatcher/ReadMe.rtf를 통해 설명서를 읽으십시오 man sleepwatcher. Macworld의이 오래된 Machint를 읽어보십시오 . SleepWatcher 시스템으로 불면증 Mac 치료 Machint에 따르면 간단히 ~/.sleepand 및 ~/.wakeup전역 파일 /etc/rc.sleep& 에 코드를 추가 할 수 있습니다 /etc/rc.wakeup.

  3. 다음 코드를 배치하십시오 ~/.sleep.

    osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
    
  4. sleepwatcher를 활성화하십시오. 변경 <key>Disabled</key><true/><key>Disabled</key><false/>.

    sudo vim /Library/LaunchDaemons/org.macports.sleepwatcher.plist
    sudo launchctl load /Library/LaunchDaemons/org.macports.sleepwatcher.plist
    sudo launchctl list | grep sleepwatcher
    
  5. 검증:

    ps aux |grep [s]leepwatcher
    root              421   0.0  0.0  2459568   1012   ??  Ss    2:45PM   0:00.00 /opt/local/bin/daemondo --label=sleepwatcher --start-cmd /opt/local/sbin/sleepwatcher --verbose --sleep /opt/local/etc/rc.sleep --wakeup /opt/local/etc/rc.wakeup ; --pid=exec
    root              422   0.0  0.0  2460656   1888   ??  S     2:45PM   0:00.17 /opt/local/sbin/sleepwatcher --verbose --sleep /opt/local/etc/rc.sleep --wakeup /opt/local/etc/rc.wakeup
    
  6. 끝난!


이 답변에 대한 리뷰를 사용하여 .plist올바르게 활성화하고 있는지 확인할 수 있습니다 .
Stefan Lasiewski

단계별로 따라 갔지만 작동하지 않습니다. 잠자기 후 외장 하드 드라이브의 연결을 해제하면 MacBook5,3이 깨어나고 뚜껑을 열면 디스크가 제대로 배출되지 않습니다.
Saaru Lindestøkke

이것은 나를 위해 작동하지만 때로는 만 작동합니다. 이유가 확실하지 않습니다.
Stefan Lasiewski

1
나는 여전히 ML에 있으므로 Mavericks와 관련이 없으며 컴퓨터가 활성화되어있을 때 오류가 발생하지 않습니다. 잠자기 할 때 충분한 시간을 얻지 못하는 것처럼 .sleep 스크립트가 깨어날 때 실행되는 경우가 있습니다.
Saaru Lindestøkke

1
또한 여기 좋은 가이드가 있습니다 : damacy.net/post/9377132648/…
Dan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.