Сценарий запуска для автоматического монтирования общего ресурса AFP - PullRequest
0 голосов
/ 05 августа 2011

Я все больше и больше использую launchd для автоматизации всего на своем домашнем сервере, и я хотел бы использовать некоторые из его возможностей на моих клиентских компьютерах. Я в основном хочу выяснить, как постоянно поддерживать общий доступ AFP моего сервера. Единственная реальная проблема, с которой я сталкиваюсь - это сценарий, который врезается в стену, когда я нахожусь в сети, которая заблокировала AFP. Я думаю, что сделать что-то вроде попробовать 3 раза, а затем сдаться, но тогда мне придется перезапустить сценарий, когда я покинул сеть. Я не совсем уверен, как написать конструкцию if внутри plist, чтобы убедиться, что она может подключиться, или проверить, смонтирован ли том. Единственные сценарии, которые я написал до сих пор, - поддерживать приложения OS X.

1 Ответ

0 голосов
/ 11 августа 2011

Взгляните на LocationChanter .Элемент plist, который он использует:

<key>WatchPaths</key>
<array>
    <string>/Library/Preferences/SystemConfiguration</string>
</array>

Насколько я могу судить, файлы в этом каталоге обновляются при каждом изменении вашей сети.Так что это даст вам ваш первый триггер.Другой элемент списка, на который стоит обратить внимание, это PathState.На справочной странице launchd.plist есть следующая документация:

PathState <dictionary of booleans>
Each key in this dictionary is a file-system path. If the value of
the key is true, then the job will be kept alive as long as the
path exists.  If false, the job will be kept alive in the inverse
condition. The intent of this feature is that two or more jobs may
create semaphores in the file-system namespace.

Я сам только запускаюсь, но думаю, что вы можете использовать это в сочетании с WatchPaths длянастроить то, что вы ищете.Идея заключается в том, чтобы следить за установленным диском и, если его нет, попытаться смонтировать его.

Конечно, вы, вероятно, хотите немного газа на этом.Особенно, если клиентский компьютер когда-нибудь подключится к другим сетям, но я думаю, что эти элементы должны помочь вам начать работу.

...