У меня дома нет хорошей настройки Wi-Fi, и иногда это приводит к сбоям резервного копирования Time Machine. Есть ли способ указать, что Time Machine выполняет резервное копирование только при определенных обстоятельствах - то есть соединение Ethernet активно ...?
network
time-machine
script
automation
babelmonk
источник
источник
Ответы:
Это альтернатива другому сценарию, который я разместил. Этот работает в фоновом режиме и каждые две минуты проверяет сетевое соединение, чтобы определить, использует ли оно соединение Ethernet или беспроводное соединение. Если на Ethernet, это включает Time Machine; когда соединение переключается на беспроводное соединение, оно отключает Time Machine.
Шаг 1: Проверка системы
При подключении к Ethernet вам нужно будет выполнить одну команду вручную, чтобы подтвердить, какой интерфейс назначен Ethernet. Запустите эту команду:
Это должно вывести экран, полный информации. То, что вы ищете, это раздел, помеченный
en
цифрой после него, и последняя строка которого выглядитstatus: active
следующим образом:Обратите внимание на номер рядом с
en
в начале - это интерфейс, на котором работает ваше соединение Ethernet.Шаг 2. Создайте приложение AppleScript
В приведенном ниже сценарии, где указано
set wired_interface to "0"
, замените0
число рядом сen
вышеприведенным выводом. (Это должно быть 0; если вы на Mac Pro, это может быть 1.) Также в приведенном ниже скрипте, в верхней части, где написаноmyusername
, замените свое имя пользователя Mac.⌘+ sчтобы сохранить. На странице свойств Сохранить установите
File Format
какApplication
и установите флажок дляStay open after run handler
. Сохраняйте его где угодно - на рабочем столе или в папке приложений - это действительно не имеет значения, просто знайте, где вы его сохранили.Шаг 3. Создание сценариев оболочки
Далее откройте Терминал. Введите следующие команды:
Вставьте следующую строку в:
Нажмите control+ x, введите yи нажмите, returnчтобы сохранить и выйти. Затем выполните эту команду:
И в этом файле вставьте следующую строку:
Снова control+ x, затем yи returnдля сохранения и выхода.
Далее введите эти команды:
Шаг 4: Настройка
sudo
для запуска без пароляРазрешение выполнения команды терминала
sudo
без пароля может быть очень опасным. Вот почему описанные выше шаги создали сценарии оболочки в своем собственном каталоге, поэтому возможности запуска ограничены.Введите следующую команду в Терминале:
Затем введите пароль администратора при появлении запроса.
Это может привести вас к (в основном) пустому экрану или к нему может быть какой-то текст. Если он пуст - это нормально. Вы просто вставите нижнюю строку вверху. Если текст уже существует, это тоже хорошо; используйте стрелку вниз, чтобы перейти прямо под линии, уже находящиеся в
# User privilege specification
разделе, как показано на скриншоте ниже.Здесь добавьте следующую строку:
В обоих местах
<yourusername>
замените его своим именем пользователя Mac. Нажмите control+ x, введите yи нажмите, returnчтобы сохранить и выйти.Проверьте, что эти файлы включают и выключают Time Machine, выполнив следующую команду (при условии, что Time Machine в данный момент включен):
Через некоторое время значок Time Machine в строке меню должен стать серым, указывая на то, что Time Machine выключена. (Возможно, вам придется нажать на значок, чтобы отразить изменение). Предполагая, что это работает, выполните эту команду:
И Time Machine должна быть снова включена.
И вы идете
Запустите приложение, которое вы создали в редакторе AppleScript выше, и оно останется открытым, включая и отключая Time Machine, когда ваше соединение переключается с Ethernet на беспроводную связь и обратно. Чтобы отключить переключение, просто закройте приложение AppleScript (щелкните правой кнопкой мыши значок в Dock и выберите «Выйти»).
источник
launchd
и сказать ему, чтобы искать любые изменения в/Library/Preferences/SystemConfiguration/
папке. У меня есть пример этого доступен на github.com/tjluoma/onnetworkchange .Этот AppleScript проверит, активно ли соединение Ethernet, а затем запустит резервное копирование Time Machine, если это так.
Сначала отключите Time Machine в Системных настройках. Приведенный ниже метод запустит его автоматически.
При подключении к Ethernet вам нужно будет выполнить одну команду вручную, чтобы подтвердить, какой интерфейс назначен Ethernet. Запустите эту команду:
Это должно вывести экран, полный информации. То, что вы ищете, это раздел, помеченный
en
цифрой после него, и последняя строка которого выглядитstatus: active
следующим образом:Обратите внимание на номер рядом с
en
в начале - это интерфейс, на котором работает ваше соединение Ethernet. В приведенном ниже сценарии, где говоритсяen9
, замените9
число сверху. (Если у вас есть Mac Pro, скорее всего, это будетen0
илиen1
. В противном случае, скорее всего, будетen0
.)Сохраните это как
EthernetTimeMachine.scpt
в вашей домашней папке (/Users/<yourusername>/
).Затем откройте терминал и введите следующую команду:
Это откроет текстовый редактор, который позволит вам запланировать выполнение этого скрипта на почасовой основе, как это делает Time Machine по умолчанию. Вставьте эту строку:
Нажмите control+, Xзатем введите
y
и нажмите, returnчтобы сохранить и выйти.Чтобы отключить его, вернитесь в терминал, снова используйте команду:
Затем удалите строку, которую вы добавили выше, и выполните те же действия, чтобы сохранить и выйти.
источник
Вы можете открыть свои настройки сети и убедиться, что Ethernet является верхним соединением в заказе на обслуживание. Вы видите, что я имею в виду на этом скриншоте, я надеюсь.
Затем, если Ethernet подключен, вы всегда должны использовать его в качестве основного соединения.
Смотрите здесь, как установить приоритет службы: http://osxdaily.com/2013/06/15/set-network-connection-priority-mac-os-x/
источник