У меня есть NAS, и я подключаюсь к нему как к сетевому диску, однако, когда я выхожу из дома с MacBook Pro и возвращаюсь, мне приходится вручную помнить о повторном подключении к сетевому диску. Есть ли способ сделать это автоматически?
ControlPlane не является решением, поскольку в настоящее время у него есть проблемы с macOS Sierra.
Версия системы: macOS Sierra 10.12.5
У меня была точно такая же проблема, и я ищу решение. В конце концов я нашел несколько приложений в магазине приложений (обычно я никогда не ищу там программное обеспечение!), которые утверждают, что могут повторно подключать сетевые диски после сна:
Drive Mounty — я пробовал профессиональную версию этого (2,99 фунта стерлингов) в течение нескольких недель, и в основном она работала нормально, но внезапно начал забивать процессор и не мог смонтировать диск, а также добавлял случайные суффиксы к точке монтирования. Бесплатная версия ограничена 1 точкой монтирования и ограниченным перемонтированием. Сначала был многообещающим, но, к сожалению, стал ненадежным.
Auto Mounter - в настоящее время пробую это (9,99 фунтов стерлингов) с пакетом опций Pro (2,99 фунтов стерлингов). Пока выглядит хорошо и имеет множество функций и возможность создавать правила. Можно монтировать диски в /Volumes с помощью отдельной вспомогательной утилиты, которая преодолевает песочницу App Store. Жаль, что нет бесплатной пробной версии.
Drive Mounter — не пробовал, потому что Auto Mounter пока хорошо держится. Есть бесплатная версия, чтобы попробовать.
Если вы попробуете что-то из этого, дайте мне знать, как они работают.
У меня была та же проблема, что и у ОП. Но я не хотел добавлять какие-либо приложения.
Поэтому я использую osascript для монтирования файловой системы. Это решение требует, чтобы вы сохранили учетные данные в связке ключей, но это нужно сделать только один раз.
сначала я создал файл сценария (благодаря samuelfullerth за написание сценария)
nano ~/automount.sh
Затем я вставил этот скрипт (с изменениями, подходящими для моей среды)
if /sbin/ping -q -c 1 -W 1 <server ip goes here> >/dev/null; then
if [ ! -d "/Volumes/<your volume>" ]
then
/usr/bin/osascript -e "try" -e "mount volume \"smb://<your user name@server IP/your volume>\"" -e "end try"
fi
fi
После сохранения я изменил разрешения
chmod 755 ~/automount.sh
Затем я создал запись в crontab для запуска скрипта каждую минуту. Я предпочитаю nano для редактирования, поэтому я использовал эту команду. (вероятно, есть способ сделать nano значением по умолчанию)
env EDITOR=nano crontab -e
Введите это в crontab и сохраните
* * * * * ~/automount.sh >/dev/null 2>&1
Теперь ваш Mac останется подключенным к NAS в любом случае. Я так устал от того, что мой Mac принуждает меня переподключиться к диску, который всегда должен быть подключен.
Ваше здоровье
Мое решение для этого состоит в том, чтобы использовать приложение Automator и сценарий перемонтирования, который я написал.
Часть 1: Автоматизация действия
Используя инструмент Automator, я создал новый Application
, в который добавил по порядку:
Get Specified Servers
действие, которое получает мой сервер (в моем случае мой raspberry pi)Connect to Servers
, который подключается к серверу, который я получил в предыдущем действии. Это должно выглядеть так, как показано на скриншоте ниже.Часть 2. Проверка подключения компьютера к серверу
Это автоматизирует действие по подключению к серверу, но не автоматизирует процесс повторного подключения. Для этого я написал простой скрипт, который я запускаю в задании cron, которое проверяет (каждые 10 секунд), подключен ли компьютер к серверу и подключен ли диск, как я ожидаю.
Скрипт проверяет:
Volumes
if /sbin/ping -q -c 1 -W 1 <server ip goes here> >/dev/null; then
if [ ! -d "/Volumes/<your volume>" ]
then
open /usr/local/bin/remount/mount-drive.app
fi
fi
Часть 3. Проверка каждые 10 секунд
Последняя часть находится в моем файле crontab
, чтобы запускать этот скрипт каждую минуту:
* * * * * sh /usr/local/bin/remount/remount.sh
Это запускает его каждую минуту - если вы хотите, чтобы он запускался каждые 10 секунд, вам нужно добавить несколько заданий cron для запуска скрипта с интервалом в 10 секунд, а-ля:
* * * * * sleep 10; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 20; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 30; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 40; sh /usr/local/bin/remount/remount.sh
* * * * * sleep 60; sh /usr/local/bin/remount/remount.sh
Честно говоря, вероятно, есть более простой способ сделать это с помощью Automator - я использую три вещи (crontab, скрипт и приложение Automator) вместе, и я уверен, что мог бы просто использовать сценарий приложения Automator, если бы я был просто лучше в этом!
Тем не менее, он выполняет свою работу — когда я открываю свой Macbook и диск отключается, это гарантирует, что компьютер снова подключится в течение 10 секунд, если он сможет подключиться к диску.
кланомат
XAMPProky
кланомат
XAMPProky
СинийC
XAMPProky
СинийC