Pull to refresh

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

Reading time4 min
Views9.6K
Поскольку системник в себе несет всего 256 Гб под систему и софт, бОльшую часть рабочих файлов, библиотеки, архивы и т.п. храню на нЕком файл-сервере под управлением XP который по гигабитному Ethernet подключен к рабочему компу. СтоИт сей девайс в подвале, шумом не напрягает ))) А так-же по Wi-Fi расшарены папки с музыкой и кино с этой файло-свалки для нубуков, планшетов, смартфонов.

Задался вопросом как все эти сетевые диски автоматом монтировать в МАК-ОСь? Начитался интернетов и написал скриптик, оформив его в стандартную программу и заснув ее в автозагрузку.

image

Итак, что в нем используется:
Поскольку комп грузится на столько быстро, что DHCP роутера не успевает присвоить IP-адрес МАКу выдавая ошибку, что команде не удалось подключить внешний диск. Посему пришлось поставить десяти-секундную задержку перед выполнением команд монтирования сетевых дисков:

set pause to (10)
delay pause


Следующим этапом создаем тома в МАКе и монтируем сетвые диски.
Уточнение: МАК и файл-сервер висят в рабочей группе WORKGROUP, а сервер имеет сетевое имя serverX32 (хотя можно использовать и IP-адрес сервера):

do shell script ("mkdir /Volumes/My_DOCs") <!--  создание директории сетевого диска My_DOCs в МАКе -->
do shell script ("mount -t smbfs //login:password@serverx32/My_DOCs /Volumes/My_DOCs") <!-- Подключение по SMB-протоколу Виндового диска с именем My_DOCs с логином и паролем, для доступа на чтение/запись, если заход на данный диск происходит без логина/пароля диск имеет статус только чтение (для смартфонов и планшетов). -->
do shell script ("mkdir /Volumes/Video") <!-- создание директории второго сетевого диска в МАКе -->
do shell script ("mount -t smbfs //login:password@serverx32/Video /Volumes/Video")
и т.д. сколько нужно подключить дисков…




Пользуюсь программой-клиентом Яндекс.Диск, что за зверь думаю объяснять не нужно. Но не задача, его (Я.Д.) данные лежат у меня тоже на файло-свалке. При тупой вставке Я.Д в автозагрузку, опять-же он грузится быстрее чем надо, а сетеого диска со своей папкой не видит, и выдает ошибку: «Папки Yandex Disk не обнаружено, проверьте настройки программы.»
Ерунда, удлинним скрипт:

set pause to (10)
delay pause <!-- пауза 10 сек. на всякий случай -->
do shell script ("open /Applications/Yandex.Disk.app") <!-- запуск самого Я.Д. который находится в папке Applications/Программы -->


Ну и теперь смый цимус. Есть офигенная программа: BitTorrent Sync. В трех словах, это свое — личное облако неограниченное по объему, работающее на РС, МАКах, Линуксах, NASах, Андроидах и iOSах. С возможностью как полного доступа к разным папкам облака, так и только на чтение. Папками какие и для кого синхронизировать тоже можно управлять. Высокая приватность: все данные лежат только на Ваших устройствах, весь траф шифруется 128-битным алгоритмом. Нет ограничений по размеру одного файла, скорости и т.п. это если делиться чем-то объемным с друзьями и коллегами. Все это добро работает по протоколу Р2Р. Вот подробнее: http://ru.wikipedia.org/wiki/BitTorrent_Sync Есть только одно НО — одно из основных устройств должно быть постоянно в он-лайн, для меня это не НО — моя файло-свалка 6-й год так живет.
Естественно в скрипт включаю и его (т.к. его корневая папка тоже на файл-сервере):

shell script ("open /Applications/BitTorrent\\ Sync.app") <!-- запуск самого BTS. который находится в папке Applications/Программы. Уточнение: два слэша подряд и пробел ‘\\ ‘перед Sync.app - обозначение в пути/имени файла пробела -->


Вот так выглядит весь скрипт:

set pause to (10)
delay pause
do shell script ("mkdir /Volumes/My_DOCs")
do shell script ("mount -t smbfs //login:password@serverx32/My_DOCs /Volumes/My_DOCs")
do shell script ("mkdir /Volumes/Video")
do shell script ("mount -t smbfs //login:password@serverx32/Video /Volumes/Video")
do shell script ("mkdir /Volumes/Software")
do shell script ("mount -t smbfs //login:password@serverx32/Software /Volumes/Software")
do shell script ("mkdir /Volumes/MP3s")
do shell script ("mount -t smbfs //login:password@serverx32/MP3s /Volumes/MP3s")
do shell script ("mkdir /Volumes/Win_HDD")
do shell script ("mount -t smbfs //login:password@serverx32/Win_HDD /Volumes/Win_HDD")
set pause to (10)
delay pause
do shell script ("open /Applications/Yandex.Disk.app")
do shell script ("open /Applications/BitTorrent\\ Sync.app»)


Все это делается в программе Редактор AppleScript:

image

Как все прописали под себя, можно протестировать скрипт нажав на копку запустить (отмечена красным).
Если все работает, сохраняем скрипт как программу: меню: Файл -> Экспортировать (в окне сохранения снимаем все галки) в поле «тип файла» выбираем программа.

P.S. Была у меня проблеммка с подключением по сети обаза TimeMashine: тынц >>>
Так вот с таким видом скрипта подключения сетевых дисков и образа тайм-машины все рулит и бибикает.
do shell script ("hdiutil mount /Volumes/My_DOCs/NetTM.sparsebundle")


Единственно что не разобрался после спящего режима тайм-машина теряется. Чего-бы прописать в скрипт, чтоб после пробуждения опять подцеплялся образ ТМ?
Tags:
Hubs:
Total votes 11: ↑6 and ↓5+1
Comments13

Articles