Довідка Unmouting диск, якщо UUID монтується до певного часу


3

Щоранку у мене одна і та ж рутина.

Я прийшов у роботу і підключити мої периферійні пристрої, включаючи мій Time Machine Backup. Я маю мою Машину часу заплановано тільки запустити одну щоденну резервну копію у 3:30 pm. Я хотів би запустити скрипт або .plist LaunchDeamon, щоб перевірити всі вставлені зовнішні жорсткі диски автоматично і відключити, якщо

UUID = 32E89C07-FFDB-36F3-8CE8-5DC0560AFEC4  

А потім підніміть його о 15:15. Я просто не хочу, щоб мій диск був підключений протягом всього дня, щоб використовувати його протягом 30 хвилин, щоб підтримати все.

Я знаю, це все може бути вирішена, якщо я просто вручну підключити диск в 3:15. Проте кілька днів я перебуваю на зустрічі або далеко від столу, а що-ні.

Мені вдалося знайти документацію про те, як автоматично витягти пристрій в певний час, тому мені не потрібно пам'ятати про безпечне видалення диска.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
            <string>com.diskejector.Backup</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/sbin/diskutil</string>
            <string>unmountDisk</string>
            <string>32E89C07-FFDB-36F3-8CE8-5DC0560AFEC4</string>
        </array>
        <key>StartCalendarInterval</key>
        <dict>
            <key>Hour</key>
                <integer>16</integer>
            <key>Minute</key>
            <integer>45</integer>
        </dict>
    </dict>
</plist>

Я хотів би допомогти з автоматичним запуском сценарію .sh, який також міг би включати попередній код, який я повинен витягти з диска.


Можна використовувати cron автоматично виконувати сценарій .sh. Насправді, якщо ви використовуєте cron, я не думаю, що ви навіть потребуєте цих plist або sh файлів. Ви можете безпосередньо вказати diskutil Встановіть і розмотайте команду в cron і зробіть її щоденною в певний час.
Thu Yein Tun

Відповіді:


1

Немає необхідного сценарію оболонки, якщо ви використовуєте два агенти запуску.

Вам потрібен UUID диска резервного копіювання:

diskutil info $VolumeName | grep "Disk / Partition UUID:"

Замінити $VolumeName за фактичною назвою тома вашого диска ТМ. Якщо ім'я містить пробіли, використовуйте подвійні лапки (наприклад, "накопичувач резервної копії Time Machine").

Створіть два файли usr.tmvolume.unmount.plist і usr.tmvolume.mount.plist у ~ / Library / LaunchAgents /:

nano ~/Library/LaunchAgents/usr.tmvolume.mount.plist

з вмістом

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>usr.tmvolume.mount</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/diskutil</string>
        <string>mount</string>
        <string>$UUID</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>15</integer>
            <key>Minute</key>
            <integer>15</integer>
        </dict>
    </array>
</dict>
</plist>

і

nano ~/Library/LaunchAgents/usr.tmvolume.unmount.plist

із вмістом:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>usr.tmvolume.unmount</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/diskutil</string>
        <string>unmount</string>
        <string>$UUID</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>8</integer>
            <key>Minute</key>
            <integer>30</integer>
        </dict>
        <dict>
            <key>Hour</key>
            <integer>15</integer>
            <key>Minute</key>
            <integer>45</integer>
        </dict>
    </array>
</dict>
</plist>

Замініть $ UUID на обидва plist на UUID вашого раніше знайденого тома.

Завантажити обидва plists за допомогою:

launchctl load ~/Library/LaunchAgents/usr.tmvolume.*

Тепер диск резервного копіювання TM буде відключений в 8:30 ранку, встановлений в 3:15 вечора і знову розмотується в 3:45 вечора. Налаштуйте дати за необхідності.


Дивовижний! Це я шукав. Мені просто потрібно переконатися, що підключу до 8:30! Дякую!
Craig Carroll
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.