| imho.ws |
![]() |
|
|
|
# 1 |
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
Как прочестьв скриптом информацию о диске
Надо как-то скриптом на линуксе
узнать, замонтирован ли определённый диск ну это я ещё наверное сомогу а вот как узнать как он замонтирован. Как узнать замонтирован ли он readonly. Надо в зависимоти от этогопинять действия.. Как бы это по проще и эффективнее ? Заранее благодарен |
|
|
|
|
# 2 |
|
Full Member
Регистрация: 06.03.2003
Адрес: Earth
Сообщения: 761
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
#!/usr/bin/perl
$hdd = $ARGV[0]; open (F,"</proc/mounts") or die "error $!\n"; @drive = grep(/$hdd/,<F>); $drive[0] =~ s/^.*(rw|ro).*$/$1/; print $drive[0]; это так для примера , можно через http://search.cpan.org/~nicolaw/Sys-.../Filesystem.pm и т.д.
__________________
Смерть фашистским оккупантам. Последний раз редактировалось noname; 15.10.2006 в 14:39. |
|
|
|
|
# 3 |
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
спасибо..
но Перлом не хотелось бы.. так как это хочу использовать в дургом скрипте бэк апа который накатал.. на bash . Хотелось вот только ещё проверку диска на то как он монтанут узнать.. сморю что на что монтанутао уже так.. test= ´df | grep $2 | awk '{print $1}'´ Можно поидеи также прочесть какой нибудь комаджной как устройство замонтировано.. и парзнуть ответ. но я не заню какой например Usb disk если вставляю он автоматом Read only монтируется.. настроить это может и можно.. но наждо что бы скрипт сам умел роапозновать. |
|
|
|
|
# 4 | |
|
Member
Регистрация: 26.05.2004
Адрес: Планета обезьян
Сообщения: 348
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
mount -v| grep "ro" | awk '{print $3}' одновременно покажет тебе и то,что смонтированно и (если) для чтения только. Вместо "ro" можно поставить переменную ( $TEST) и искать любые параметры (имя файл система и.т.д)
__________________
Beware of programmers carrying screwdrivers... Последний раз редактировалось Zes; 15.10.2006 в 16:56. |
|
|
|
|
|
# 6 | |
|
Member
Регистрация: 26.05.2004
Адрес: Планета обезьян
Сообщения: 348
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
формат конечно не самый удобный. Есть ещё одна утилитка - "lshw" ,которая в некоторых линуксах идёт дефолтом (Сусе,кажется) - Я её сбилдил и закинул на все серверы одним файлом. Весьма удобна,показывает железо в иерархическом списке,а-ля дерево ![]() Партишены правда не показывает.
__________________
Beware of programmers carrying screwdrivers... Последний раз редактировалось Zes; 16.10.2006 в 10:59. |
|
|
|
|
|
# 7 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
cat /etc/fstab
не подойдет просто?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 9 |
|
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
/etc/fstab описывает все что может быть подключено и способы подключения.
/etc/mtab показывает только подключенные устройства (mounted) и динамически обновляется. А еще есть /etc/auto.removable (один из файлов autofs)
Последний раз редактировалось crawler; 19.10.2006 в 00:59. |
|
|
|
|
# 11 |
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
Обнаружилась.. досадная вещь..
mount -v и /etc/mtab не всегда отображают актуальный статус.. иногда по каким тоо причинам мой усб-девайс в "ro" переходит (еще не успел отследить когда именно) A /etc/mtab об это причем ничего не узнает и дальше думает что девайс примонтирован с "rw". А в свою очередь mount помойму инфу тупо от туда же и считывает. Тоесть оба способа (moun и /etc/mtab) узнать инфо о том как промаунтен девайс работают не коректно. Есть ещё может и деи более точные.. Поидее можно тестовый вайл пвтаться создавать с на ro диске и читать ошибку и парзовать и догадываться.. но тут есть один но если стоит локаль то сообщение об ошибке на языке локали.. как бы это сделать с универсальнвм кодом ошибки? или может вооюще подругому. Короче вопрос топика все ещё актуален!
|
|
|
|
|
# 12 |
|
::VIP::
Регистрация: 14.05.2005
Сообщения: 939
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
shuron
Выскажу мысли своего спинного мозга, потому что головной все это уже успел забыть: по идее все, что происходит на машине должно находить свое отражение в /proc... Но может быть я и не прав.
__________________
"Поживем - увидим" - сказал слепой, больной СПИДом... Телепаты в отпуске. Все поголовно. Навсегда. И кому я что должен - всем простил. |
|
|
|
|
# 13 |
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
Коматозо, у тебя моощняцкий спинной мозг!
Короче я тут две вещи обнаружилв /proc вопервых это /proc/@mounts там тоже что и в /etc/mtab только вроде бы с актуальным статусом... можнопопробовать скриптом смотреть здесь.. (Я надеюсь этоть файл не только в моей версии ядра, но более или менне постоянно присутствует в системе..) Но более странным покзался мне вот этот файл.. /proc/cmdline Там следующая срока: Код:
root=/dev/hda1 ro
|
|
|
|
|
# 14 | |
|
Member
Регистрация: 26.05.2004
Адрес: Планета обезьян
Сообщения: 348
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Это не файл,а хранящаяся в кернеле информация о параметрах,которые были переданы кернелу во время последнего запуска (kernel boot time parameters). Вообще,/proc это не файлы а информация,содержащаяся в сидящем в памяти кернеле (ядре Линукса). "ro" "только для чтения" параметры передаются обычно через (GRUB) /boot/grub/grub.conf (LILO) - /etc/lilo.conf. Во время запуска оно и должно быть "ro"(кажется это требует fsck). На более поздних этапах оно монтируется уже как "rw".
__________________
Beware of programmers carrying screwdrivers... Последний раз редактировалось Zes; 14.11.2006 в 03:40. |
|
|
|
|
|
# 16 | |
|
Member
Регистрация: 26.05.2004
Адрес: Планета обезьян
Сообщения: 348
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
"rw". Хочешь поточнее - запусти xterm,в нём комманду "tail -f /var/log/messages",подключи свой usb диск и смотри как он определяется.
__________________
Beware of programmers carrying screwdrivers... |
|
|
|
|
|
# 17 | |
|
Administrator
Регистрация: 13.05.2002
Сообщения: 11 227
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1. W proc nahoditsya tolko to, chto opredeleno kernelom w dannij moment (naprimer spisok kontrollerow, block devices i.t.d.). To, na chto ne zagrujeni moduli (ili to, chto ne inicializirowanno, to kernel ne widit). Primer: LVM.
2. Pri ispolzowanii udevd device files w /dev sozdajutsya awtomaticheski. Potomu skanit /dev smisla ne imeet. 3. Princip opredelniya block devices i ih partow (s uchetom togo, chto wse moduli zagrujeni): - Obnowit spisok block devices (naprimer cherez ioctl). - Otrabotat sozdanie dev. - Prochitat proc. Kak eto sdelat prawilno - smotri kak rabotaet modul vgchange s parametrom -ay iz paketa LVM2. Eto kodili rebyata iz sistini (potom ih kupil rh), a oni w takih weschah tolk znali. USB mojno zamontirowat kak ugodno, da i woobsche chto ugodno. Zawisit ot ispolzuemoi biblioteki urownya predstawleniya i nastroiki sistemi. Skanit dev ne znaya, chto za chto otwechaet durnoi ton. Цитата:
__________________
Осколки прошлого, как снег, закрутит ураган времён, В ушедший день для нас навек, обрушив мост, Оставив в наших душах след, тьма уплывёт за горизонт, И в чистом небе вспыхнет свет, свет новых звёзд. |
|
|
|
|
|
# 18 |
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
Ну на данный момент я смотрю
в /proc/mounts на то как монтирован диск.. Если он ro монтирован, то я его отмантирываю и примонтриую заного rw (так как mount -o remount,rw не срабатывал). И пока вроде работает, правда теслтировал наспех, многолетних рабочих испытаний ещё небыло. ![]() за теоретическую часть всем спасибо! Последний раз редактировалось shuron; 16.11.2006 в 12:38. |
|
|