The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Скрипт примонтирования"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Скрипт примонтирования"  +/
Сообщение от Wellberg email(ok) on 18-Авг-16, 13:43 
Нужен скрипт для проверки примонтирована директрория или нет.
Если нет, то примонтировать.
В качестве проверки

#!/bin/bash
dir_name="/mnt/backup"
if [ `mount | grep "$dir_name"` ]; then
echo "OK"
else
echo "Alarm!!! The directory $dir_name is not mounted!"
fi
Подскажите что не так, проверяю mount|grep /mnt/backup показывает что директория примонтирована,
запускаю скрипт,пишет что не примонтирована.
И вторая часть,
umount /mnt/backup/
cd /mnt/backup/
rm -r /mnt/backup/*
mount -a

И как связать первую часть со второй? То есть если директория не отмонтировалась, то запускалась бы вторая часть.
Скрипты для себя открыл только сегодня, заранее благодарен вашей помощи.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт примонтирования"  +/
Сообщение от Andrey Mitrofanov on 18-Авг-16, 14:38 
> if [ `mount | grep "$dir_name"` ]; then

Вы слишком много куша.. а нет, не то.  Слишком много, или мало?, "кавычек". А понимания мало.

Или
if mount |grep -qs "$dir_name"; then
, или
if [ "`mount |grep "$dir_name"` ]; then
.

Но на самом-то деле (там наверху проблема с совпадением по _подстроке_...) надо
if mountpoint -q "$dir_name"; then
!

> echo "OK"
> else

И про вторую часть у меня есть чего добавить:

> umount /mnt/backup/
> cd /mnt/backup/
> rm -r /mnt/backup/*
> mount -a
> И как связать первую часть со второй? То есть если директория не

Чистишь файлы "под" примонтировнным разделом? _Просто_ смонтируй объемлющий раздел в другую директорию -- тем не будет "покрытия" этим макнт-поинтом!, сотри, если что есть, и отмонтируй. Навскидку, не проверяя:

mkdir /tmp/fully-tmp \
    && mount --bind / /tmp/fully-tmp \
    && rm -r /tmp/fully-tmp/mnt/backup/* \
    && umount /tmp/fully-tmp
|| echo XFailedX

И первая часть не нужна.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Скрипт примонтирования"  +/
Сообщение от Wellberg email(ok) on 19-Авг-16, 07:40 
Спасибо большое первая часть заработала) Понимания действительно мало.
Удаляю файлы именно под непримонтированным разделом.
Остался вопрос что прописать чтобы второй скрипт запускался в случае если первый скрипт выдаст что директория не примонтирована. Извините если туплю)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Скрипт примонтирования"  +/
Сообщение от Andrey Mitrofanov on 19-Авг-16, 09:08 
> И первая часть не нужна.
> И первая часть не нужна.
> И первая часть не нужна.

Я хотел сказать вот что: заглянуть _под_ примонтированный другой раздел можно, _повторно_ смонтировав содержащий точку монтирования раздел.

Да, это неочевидно, необычно, но [в gnu/linux-е у меня] работает.

> Чистишь файлы "под" примонтировнным разделом? _Просто_ смонтируй объемлющий раздел в другую
> директорию -- тем не будет "покрытия" этим макнт-поинтом!, сотри, если что
> есть, и отмонтируй. Навскидку, не проверяя:
> mkdir /tmp/fully-tmp \
>     && mount --bind / /tmp/fully-tmp \
>     && rm -r /tmp/fully-tmp/mnt/backup/* \
>     && umount /tmp/fully-tmp
> || echo XFailedX
> И первая часть не нужна.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру