bash и небольшой скрипт монтирования NFS шар... (Проблемсы :()

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

headcrab
Сообщения: 175
ОС: Windows 7

bash и небольшой скрипт монтирования NFS шар...

Сообщение headcrab »

Здравствуйте))

Возникла необходимость автоматического монтирования NFS шар на одном из серверов и переодическая проверка по крону не отвалилась/неотмонтировалась ли одна из них и раз уж это бесстыдство по каким-то причинам произошло - примонтировать куда положено...

Для этих целей было решено написать скрипт. В файле mounts.list храним в каждой строке пару из "каталога на удаленной машине" и "локальной точки монтирования" разделенных табуляцией (чтобы потом можно было при помощи awk читать все это дело столбцами).

Вобщем вот код:

Код: Выделить всё

#!/bin/bash

NFS_SERVER_ADDR="192.168.37.2"

if [ -x /etc/sh/mounts.list ]

    for PATH_LIST in `cat /etc/sh/mounts.list` do

        PATH_SRC=`echo $PATH_LIST | awk '{print $1}'`
        PATH_DST=`echo $PATH_LIST | awk '{print $2}'`

        df $PATH_DST > /dev/null
        case $? in
            0)
              ;;
            1)
                mount "$NFS_SERVER_ADDR:/$PATH_SRC $PATH_DST"
                echo "Mounting $PATH_SRC -> $PATH_DST\n"
              ;;
            *)
              ;;
        esac
    done
fi

exit 0


При исполнении сценария в консоль выводится:

Код: Выделить всё

root@www:/etc/sh# ./mounts.sh
./mounts.sh: line 9: syntax error near unexpected token `PATH_SRC=`echo $PATH_LIST | awk '{print $1}'`'
./mounts.sh: line 9: `  PATH_SRC=`echo $PATH_LIST | awk '{print $1}'`'


Подскажите плиз в чем проблема? Вроде в строчках на которые ругаются все правильно >_>
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: bash и небольшой скрипт монтирования NFS шар...

Сообщение sash-kan »

с обратными кавычками, возможно проблема. в тэге code этого не видно.
раз уж в shebang-е поставили /bin/bash, можете смело заменить пару обратных кавычек на $(...).
и нагляднее и удобнее будет.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
headcrab
Сообщения: 175
ОС: Windows 7

Re: bash и небольшой скрипт монтирования NFS шар...

Сообщение headcrab »

Заменил на:

Код: Выделить всё

...
        PATH_SRC=$(echo $PATH_LIST | awk '{print $1}')
        PATH_DST=$(echo $PATH_LIST | awk '{print $2}')
...

Ничего не изменилось :(
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: bash и небольшой скрипт монтирования NFS шар...

Сообщение Ленивая Бестолочь »

перед do поставьте ;
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
headcrab
Сообщения: 175
ОС: Windows 7

Re: bash и небольшой скрипт монтирования NFS шар...

Сообщение headcrab »

Ммм... попутно исправил часть ошибок в синтаксисе... )))

Код: Выделить всё

#!/bin/bash

NFS_SERVER_ADDR="192.168.37.2"

if [ -x /etc/sh/mounts.list ]
then
    for PATH_LIST in `cat /etc/sh/mounts.list`
    do

        PATH_SRC=$(echo $PATH_LIST | awk '{print $1}')
        PATH_DST=$(echo $PATH_LIST | awk '{print $2}')

        df $PATH_DST > /dev/null
        case $? in
            0)
               ;;
            1)
                mount "$NFS_SERVER_ADDR:$PATH_SRC $PATH_DST"
                echo "Mounting $PATH_SRC -> $PATH_DST\n"
               ;;
            *)
               ;;
        esac
    done
fi

exit 0


Теперь не спотыкается, отрабатывает и все.. ничего не монтируя.. пытаюсь разобраться в чем может быть дело))
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: bash и небольшой скрипт монтирования NFS шар...

Сообщение rm_ »

А прописать всё в fstab и время от времени делать mount -a - не вариант?
Спасибо сказали:
headcrab
Сообщения: 175
ОС: Windows 7

Re: bash и небольшой скрипт монтирования NFS шар...

Сообщение headcrab »

Очень даже вариант :D
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: bash и небольшой скрипт монтирования NFS шар...

Сообщение sash-kan »

headcrab писал(а):
13.02.2010 22:27
и раз уж это бесстыдство по каким-то причинам произошло
и что, действительно происходит? не говорит ли это о каких-то проблемах?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: