Вернуться   HitForum - Форумы Мариупольской Городской Сети > HiTech > Linux и всё вокруг него

Linux и всё вокруг него OC Linux и всё, всё, всё. Включая *NIX

Ответ
 
Опции темы
Старый 10.02.2021, 10:43   #1
Эксперт
 
Аватар для Малышъ
 
Мужчина
Регистрация: 05.04.2006
Адрес: Матрица
Возраст: 35
Сообщений: 1,771
Вес репутации: 25 Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)


По умолчанию Решено! Помогите побороть скрипт.

Когда-то нашел, настроил и работал скрипт автоматического монтирования сетевой папки по smb. Скрипт работал верой и правдой, пока случайно не убили системный диск.

Скрипт
Код:
#!/bin/bash
while true;
do
sleep 15
is_mnt=df|grep точка_монтирования|wc -l
case $is_mnt in
0) mount точка_монтирования
;;
esac
done
Проблема в том, что сейчас он мне выдает в консоли только 1 или 0 (смонтирован или нет) и не монтирует шару. Запускал и от рута, и от пользователя - результат одинаковый. Где закралась ошибка - не понимаю. С языком скриптов не дружу

Последний раз редактировалось Малышъ; 14.02.2021 в 23:31.
Малышъ вне форума   Ответить с цитированием
Старый 12.02.2021, 17:26   #2
Модератор
 
Аватар для vealokin
 
Мужчина
Регистрация: 18.04.2004
Адрес: Украина, г. Мариуполь
Возраст: 45
Сообщений: 374
Вес репутации: 18 vealokin имеет захватывающую ауруvealokin имеет захватывающую ауру


По умолчанию Ответ: Помогите побороть скрипт

Цитата:
Сообщение от Малышъ Посмотреть сообщение
...
0) mount точка_монтирования
...
Смотри в файле /etc/fstab на предмет "точки_монтирования" (надеюсь там на латинице хоть написано, а тут только для примера?!).
В файле /etc/fstab должно быть, что то подобное:
Код:
//192.168.0.1/Doc /mnt/s cifs noauto,username=lab,password=lab,iocharset=utf8,rw,noperm 0 0
Или в скрипте просто вставить
Код:
0) mount.cifs //192.168.0.1/Doc /mnt/s -o username=lab,password=lab,iocharset=utf8,noperm
где вместо lab свои логины и пароль к шарингу, ip и точка монтирования "/mnt/s" тоже свои... Пример кода приведен для Debian/Ubuntu и т.п.
Утилиты cifs должны быть установлены:
$ sudo apt install cifs-utils
Скрипты запускать от root (через команду sudo).
__________________
Нельзя починить то, что не сломано.
vealokin вне форума   Ответить с цитированием
Старый 14.02.2021, 18:33   #3
Эксперт
 
Аватар для Малышъ
 
Мужчина
Регистрация: 05.04.2006
Адрес: Матрица
Возраст: 35
Сообщений: 1,771
Вес репутации: 25 Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)


По умолчанию Ответ: Помогите побороть скрипт

Цитата:
Сообщение от vealokin Посмотреть сообщение
Смотри в файле /etc/fstab на предмет "точки_монтирования" (надеюсь там на латинице хоть написано, а тут только для примера?!)
Это прописал изначально. Засада, что интерфейс на "малинке" поднимается несколько позже и/или может пропадать линк (роутер ребутнул или просто отключил этот интерфейс).

Сегодня вечером постараюсь еще раз проверить точку монтирования (sudo mount -a монтировал точку). Ну и проверю еще раз скрипт.


Цитата:
Сообщение от vealokin Посмотреть сообщение
Или в скрипте просто вставить
Код:
0) mount.cifs //192.168.0.1/Doc /mnt/s -o username=lab,password=lab,iocharset=utf8,noperm
где вместо lab свои логины и пароль к шарингу, ip и точка монтирования "/mnt/s" тоже свои... Пример кода приведен для Debian/Ubuntu и т.п.
Утилиты cifs должны быть установлены:
$ sudo apt install cifs-utils
Скрипты запускать от root (через команду sudo).

Попробую еще такой вариант кода.
Вот CIFS не проверял - возможно в нем дело.


Добавлено через 48 часов 10 минут
vealokin, проверил - вроде все правильно. Пока подключил по nfs, но тогда не отрабатывает скрипт. Сейчас у меня следующее (достаточно раскомментировать последнюю строку и закомментировать строку с nfs):
Код:
pi@raspberrypi:~ $ cat /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=9f3b2981-01  /boot           vfat    defaults          0       2
PARTUUID=9f3b2981-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
192.168.100.100:/share /home/pi/Desktop/share nfs4 rw 0 0
#
#//192.168.100.100/share /home/pi/Desktop/share cifs noauto,username=pi,password=********,rw,noperm 0 0
pi@raspberrypi:~ $ cat ./automount
#!/bin/bash
while true;
do
sleep 15
is_mnt=df|grep /home/pi/Desktop/share|wc -l
case $is_mnt in
0) mount /home/pi/Desktop/share
;;
esac
done
pi@raspberrypi:~ $
По факту - скрипт отрабатывает ровным счетом до проверки смонтирован диск или нет. Дальше просто по кругу с интервалом 15 сек

Код:
pi@raspberrypi:~ $ sudo ./automount
0
^C
pi@raspberrypi:~ $

Последний раз редактировалось Малышъ; 14.02.2021 в 18:33. Причина: Добавлено сообщение
Малышъ вне форума   Ответить с цитированием
Старый 14.02.2021, 21:37   #4
Модератор
 
Аватар для vealokin
 
Мужчина
Регистрация: 18.04.2004
Адрес: Украина, г. Мариуполь
Возраст: 45
Сообщений: 374
Вес репутации: 18 vealokin имеет захватывающую ауруvealokin имеет захватывающую ауру


По умолчанию Ответ: Помогите побороть скрипт

Твой скрипт немного не рабочий. В месте где делается проверка, я проглядел, там у тебя кавычек нет:
is_mnt=df|grep /home/pi/Desktop/share|wc -l
группу команд надо поместить в косые кавычки (те что набираются на букву Ё) и выглядеть так:
Код:
is_mnt=`df|grep /home/pi/Desktop/share|wc -l`
Я проверил так работает.

В итоге полный скрипт:
Код:
#!/bin/bash
while true;
do
sleep 15
is_mnt=`df|grep /home/pi/Desktop/share|wc -l`
case $is_mnt in
0) mount /home/pi/Desktop/share
;;
esac
done
__________________
Нельзя починить то, что не сломано.

Последний раз редактировалось vealokin; 14.02.2021 в 21:55.
vealokin вне форума   Ответить с цитированием
Пользователь одобрил это сообщение
Малышъ (14.02.2021)
Старый 14.02.2021, 23:30   #5
Эксперт
 
Аватар для Малышъ
 
Мужчина
Регистрация: 05.04.2006
Адрес: Матрица
Возраст: 35
Сообщений: 1,771
Вес репутации: 25 Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)Малышъ великолепен(-на)


По умолчанию Ответ: Помогите побороть скрипт

Цитата:
Сообщение от vealokin Посмотреть сообщение
группу команд надо поместить в косые кавычки (те что набираются на букву Ё)
А ларчик просто открывался.... мы ведь значение переменной задаем. и я тут протупил.

Спасибо за помощь!
Малышъ вне форума   Ответить с цитированием
Ответ

  HitForum - Форумы Мариупольской Городской Сети > HiTech > Linux и всё вокруг него


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите "побороть" зажигание на 4-х тактнике Малышъ Авто/Мото 28 16.05.2013 09:28
помогите побороть зверей! Rick Windows и все для него 8 04.12.2007 14:05
Как побороть тормоза в сетевом окружении DIvan Windows и все для него 4 29.08.2007 12:11
Еще один способ побороть активацию Windows Vista dart Информационный блог 0 28.03.2007 23:06
Скрипт на PDF? Робин Программы 8 19.01.2006 17:14

© 2003 - HitLine.
Часовой пояс GMT +3, время: 15:37.