Показать полную графическую версию : [решено] Проблема с подключением сетевого диска
Ну мне то впринципе и надо чтобы сетевой диск показывался всегда в Мой компьютер... и при необходимости открывался, естественно если удаленная машина включена »
Тогда ройте в сторону упомянутого Avahi. Подсказать готовый рецепт не могу, не пользуюсь "моргающими" SMB-шарами.
berkut_174
08-06-2011, 15:26
А если сделать скрипт, который через каждые, ну например, 10 мин будет пробовать смонтировать сетевой диск? Будет ли это как то влиять на работу пользователя? Будут ли вылазить какие-н. окна? Или это все можно сделать "тихо"?
contoso.com
08-06-2011, 16:28
А если сделать скрипт, который через каждые, ну например, 10 мин будет пробовать смонтировать сетевой диск? »
ну если уж пошли такие извращения, то не пытаться смонтировать, а просто посылать пинг и при условии положительного ответа, монтировать удаленный ресурс.
Будет ли это как то влиять на работу пользователя? Будут ли вылазить какие-н. окна? Или это все можно сделать "тихо"? »
зависит от того, какой скрипт напишите :)
berkut_174
08-06-2011, 17:42
зависит от того, какой скрипт напишите »
Если учесть что это будет мой первый скрипт в линуксе, тогда не знаю каким он вообще будет :)
Сейчас попробуем что-нибудь сделать :)
Вот что-то написал. Правда не уверен что будет работать :) Нужна помощь при заполнении после слова иначе. Надо сделать чтобы через 10 мин скрипт запускался заново.
#!/bin/bash
ping="ping -c 3 192.168.112.202"
# проверяем нахождение компьютера в сети
if $ping ; then
# если условие выполняется монтировать диск
mount -t cifs //192.168.112.202/obmen /media/obmen -o guest
else
# запускать скрипт заново через 10 минут
????????
fi
exit
Вроде работает. Осталось только заставить его запускаться через каждые 5-10 минут.
berkut_174
09-06-2011, 07:39
Ну что у кого-нибудь может есть какие-нибудь соображения как можно заставить скрипт запускаться автоматически через каждые 10 мин? Я подумал про crontab... но мне не совсем это нравится... т..к. при этом скрипт будет крутиться бесконечно, через каждые 10 мин, даже если диск уже смонтируется.
contoso.com
09-06-2011, 08:40
man at (http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=at&category=1)
berkut_174
09-06-2011, 09:04
Сделал так:
#!/bin/bash
ping="ping -c 3 192.168.112.202"
# проверяем нахождение компьютера в сети
if $ping ; then
# если условие выполняется монтировать диск и откл. службу crond
(mount -t cifs //192.168.112.202/obmen /media/obmen -o guest) & (service crond stop)
else
# выход
exit
fi
exit
+ к этому создал задачу crontab для пользователя, запускать данный скрипт через каждые 4 минуты
crontab -u user -l
SHELL=/bin/bash
0-59/4 * * * * /etc/start
Только не запускается у меня он автоматом, только если через терминал запускать скрипт. Наверно как то нужно указать чтоб он это через терминал запускал? Помогите, пожалуйста.
ruslandh
09-06-2011, 09:24
crond лучше не выключать. Он служит многим целям.
лучше просто разрешить пользователю монтировать ресурс - когда надо - смонтирует, нет сервера - получит ошибку.
berkut_174
09-06-2011, 09:33
лучше просто разрешить пользователю монтировать ресурс - когда надо - смонтирует, нет сервера - получит ошибку. »
Если бы все так просто... Дело в том что пользователь сидит на tmpfs... И пользователь не сможет смонтировать раздел сам - он не умеет! :) Может предложите альтернативный скрипт? :) Мне надо чтобы сетевой диск всегда показывался в моем компьютере, либо монтировался автоматически. А может есть какая то альтернатива (кроме nfs,avahi - несовсем понял как они работают, да и документации маловато...)?
ps. Хотя как вариант можно в скрипт назначить создание ярлыка на сетевую папку на рабочем столе пользователя... но...
contoso.com
09-06-2011, 10:03
Вы можете дать объективное обоснование того, зачем Вам в "Мой компьютер" отображение сетевого диска? Без всяких там "а вот в windows...." или "пользователь хочет..." Сделайте сначала так, чтобы оно вообще работало, а потом будете прикручивать различные плюшки и хотелки. :)
berkut_174
09-06-2011, 10:12
Дак оно все и так работает, только если главный будет включен раньше клиентского. В fstab прописываю автомонтирование и все.
Зачем мне это надо: раньше была Windows на клиенте стоял SteadyState, на клиенте был подключен сетевой диск и в настройках SteadyState было настроено запрещать изменение совершенные пользователем. Т.е. все что пользователь наделает за компом стиралось напрочь, а все что нужно сохранить он хранил на этом сетевом диске. Сейчас линукс и мне нужна альтернатива. :) Вот :)
berkut_174
09-06-2011, 15:35
Вот так мы его обманим :)
#!/bin/bash
file="/tmp/obman"
ping="ping -c 3 192.168.112.202"
if [ -e $file ]; then
exit
else
if $ping ; then
(mount /media/obmen) & (touch $file)
else
exit
fi
fi
exit
+ добавил в конец /etc/fstab
//192.168.112.202/obmen /media/obmen cifs rw,noauto,user,utf8,guest 0 0
Проверил на виртуалке - все работает!
Пускай с этим скриптом crontab не выключится, зато если диск уже смонтируется, то при следующем входе в скрипт программа будет сразу выходить ;)
Спасибо всем, всем, всем за помощь :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.