URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9379
[ Назад ]

Исходное сообщение
"получить размер диска (тома) в мегабайтах"

Отправлено xfree86 , 06-Фев-12 16:02 
Привет

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

я не силен в grep-ax, sed-ах и прочих утилитах, поэтому задача становится непосильной

помогите написать скрипт, который бы мне вернул размер диска в определенных величинах.

спасибо


Содержание

Сообщения в этом обсуждении
"получить размер диска (тома) в мегабайтах"
Отправлено Дядя_Федор , 06-Фев-12 16:23 
Например, размер раздела /dev/hda4 в МЕГАБАЙТАХ.
df -h --block-size=M /dev/hda4 | awk '{print $2}' | grep -v block

"получить размер диска (тома) в мегабайтах"
Отправлено xfree86 , 06-Фев-12 16:37 
> Например, размер раздела /dev/hda4 в МЕГАБАЙТАХ.
> df -h --block-size=M /dev/hda4 | awk '{print $2}' | grep -v block

Боюсь, что df -h --block-size=M показывает не общий объем hda4


"получить размер диска (тома) в мегабайтах"
Отправлено xfree86 , 06-Фев-12 16:41 
>> Например, размер раздела /dev/hda4 в МЕГАБАЙТАХ.
>> df -h --block-size=M /dev/hda4 | awk '{print $2}' | grep -v block
> Боюсь, что df -h --block-size=M показывает не общий объем hda4

и к сожалению , это не будет работать для неразмеченных дисков


"получить размер диска (тома) в мегабайтах"
Отправлено Andrey Mitrofanov , 06-Фев-12 16:44 
>>| awk '{print $2}' | grep -v block

| awk 'NR!=1&&$2!=""{print$2;exit}'

# без grep + баг-фикс

> Боюсь, что

Мдамм... :`)) Просил же человек без этих ваших "sed-ов, grep-ов и _прочих_"!!

На /bin/bash -- переписать?! //Ухожу-ухожу.


"получить размер диска (тома) в мегабайтах"
Отправлено xfree86 , 06-Фев-12 16:46 
>>>| awk '{print $2}' | grep -v block
> | awk 'NR!=1&&$2!=""{print$2;exit}'
> # без grep + баг-фикс
>> Боюсь, что
> Мдамм... :`)) Просил же человек без этих ваших "sed-ов, grep-ов и _прочих_"!!
> На /bin/bash -- переписать?! //Ухожу-ухожу.

Можно к грепами и седами :)
просто я в них не понимаю пока... просто скопирую и буду юзать :)


"получить размер диска (тома) в мегабайтах"
Отправлено Andrey Mitrofanov , 06-Фев-12 16:59 
$ awk </proc/partitions -v D=hda4 '$4==D{printf"%.2fM\n",$3/1024/1024;exit}'
297,85M
$ _

"получить размер диска (тома) в мегабайтах"
Отправлено Дядя_Федор , 06-Фев-12 17:09 
> $ awk </proc/partitions -v D=hda4 '$4==D{printf"%.2fM\n",$3/1024/1024;exit}'
> 297,85M
> $ _

На неразмеченном-то диске? :) Хотя да - тоже сильно. Как чичас говорят - "респект".


"получить размер диска (тома) в мегабайтах"
Отправлено Дядя_Федор , 06-Фев-12 17:00 
> | awk 'NR!=1&&$2!=""{print$2;exit}'
> # без grep + баг-фикс
> Мдамм... :`)) Просил же человек без этих ваших "sed-ов, grep-ов и _прочих_"!!

Сильно. Ваше кунфу посильнее будет. :)))))



"получить размер диска (тома) в мегабайтах"
Отправлено Andrey Mitrofanov , 06-Фев-12 17:28 
>> | awk 'NR!=1&&$2!=""{print$2;exit}'
>> # без grep + баг-фикс

И кста, багфикс не фиксит. А если бы "Много Файлов", так и вообще...

Файловая система     1K-блоков      Исп  Доступно  Исп% смонтирована на
//10.1.1.99/МногоФайл
                     1953512000 1751802712 201709288  90% /home/abm/mnt/10.73.50.97/Сериалы

Но для локальных... С другой стороны, для bind-маутов... Обратно с той -- не разделы же???


>> Мдамм... :`)) Просил же человек без этих ваших "sed-ов, grep-ов и _прочих_"!!
>  Сильно. Ваше кунфу посильнее будет. :)))))

Оно, признание. Бессонные рабочие дни над sed-ом/bash-ем не прошли. +<)


"получить размер диска (тома) в мегабайтах"
Отправлено Дядя_Федор , 06-Фев-12 17:07 
> Боюсь, что df -h --block-size=M показывает не общий объем hda4

А что же в таком случае? :) Вот полный выхлоп по одному разделу:
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/hda4               73119M    49231M    20174M  71% /
Ну и я его в авк загнал. Вот количество блоков и показывает. Можно еще MB ключ напустить. Получим в блоках 1000*1000 (а не 1024*1024).
Возвращаясь к неразмеченномй диску (вопрос-то ставился о размере РАЗДЕЛА - стало быть предполагалось, что диск уже разбит) - тут на помощь придет fdisk -l раздел (в нашем случае - /dev/hda). Ну а дальше - | awk 'NR!=1&&$2!=""{print$3 $4;exit}'. Получим, правда в гигах. Но это тоже исправимо. :) Можно, в конце концов даже smartctl напустить, и вытащить из кучи мусора размер. ;)



"получить размер диска (тома) в мегабайтах"
Отправлено pavlinux , 06-Фев-12 22:36 
> помогите


# fdisk -l



"получить размер диска (тома) в мегабайтах"
Отправлено pavel_simple , 12-Фев-12 09:55 
> Привет
> пишу скрипт, в котором мне необходимо получать размер диска в определенных величинах.
> например в мегабайтах.
> к сожалению пока не получается, так как для больших винтов размер возвращается
> в гигах
> я не силен в grep-ax, sed-ах и прочих утилитах, поэтому задача становится
> непосильной
> помогите написать скрипт, который бы мне вернул размер диска в определенных величинах.
> спасибо

blockdev --getsz /dev/sda