Включить /отключить машину времени в зависимости от типа сетевого подключения

У меня нет отличной настройки Wi-Fi здесь, и иногда это приводит к неудачным резервным копиям Time Machine. Есть ли способ указать, что Time Machine только подкрепляется при определенных обстоятельствах - то есть подключение к сети Ethernet активно ...?

9 голосов | спросил babelmonk 25 PM00000010000001431 2013, 13:41:14

1 ответ


6

В этом AppleScript будет проверяться, активно ли соединение Ethernet, а затем запустить резервную копию Time Machine.

Сначала отключите машину времени в системных настройках. Метод ниже будет запускаться автоматически.

При подключении к Ethernet вам потребуется выполнить одну команду вручную, чтобы подтвердить, к какому интерфейсу назначен Ethernet. Запустите эту команду:

ifconfig

Он должен вывести экран, полный информации. То, что вы ищете, - это раздел с надписью en с номером после него, а последняя строка - status: active, например:

en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
    ether 00:25:00:ef:30:3c 
    inet6 fe80::225:ff:feef:303c%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.1.68 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect (100baseTX <full-duplex>)
    status: active

Обратите внимание на номер рядом с en в начале - это интерфейс, на котором работает ваше Ethernet-соединение. В приведенном ниже скрипте, где говорится en9, замените 9 с номером сверху. (Если у вас Mac Pro, он скорее всего будет en0 или en1 В противном случае это будет en0.)

if (do shell script "ifconfig en9 | awk '/inet/ {print $2}'") is not equal to "" then
    do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper &"
end if

Сохраните это как EthernetTimeMachine.scpt в свою домашнюю папку (/Users/<yourusername>/)

Затем откройте терминал и введите следующую команду:

pico ~/crontab

Это откроет текстовый редактор, который позволит вам планировать запуск этого сценария на почасовой основе, как и Time Machine по умолчанию. Вставьте эту строку:

@hourly osascript ~/<yourusername>/EthernetTimeMachine.scpt

Нажмите control + X , затем введите y и нажмите return для сохранения и выхода.

Чтобы отключить его, вернитесь в терминал, снова используйте команду:

pico ~/crontab

Затем удалите указанную выше строку и выполните те же действия для сохранения и выхода.

ответил tubedogg 25 PM00000060000004531 2013, 18:39:45

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132