Приветпишу скрипт, в котором мне необходимо получать размер диска в определенных величинах.
например в мегабайтах.
к сожалению пока не получается, так как для больших винтов размер возвращается в гигахя не силен в grep-ax, sed-ах и прочих утилитах, поэтому задача становится непосильной
помогите написать скрипт, который бы мне вернул размер диска в определенных величинах.
спасибо
Например, размер раздела /dev/hda4 в МЕГАБАЙТАХ.
df -h --block-size=M /dev/hda4 | awk '{print $2}' | grep -v block
> Например, размер раздела /dev/hda4 в МЕГАБАЙТАХ.
> df -h --block-size=M /dev/hda4 | awk '{print $2}' | grep -v blockБоюсь, что df -h --block-size=M показывает не общий объем hda4
>> Например, размер раздела /dev/hda4 в МЕГАБАЙТАХ.
>> df -h --block-size=M /dev/hda4 | awk '{print $2}' | grep -v block
> Боюсь, что df -h --block-size=M показывает не общий объем hda4и к сожалению , это не будет работать для неразмеченных дисков
>>| awk '{print $2}' | grep -v block| awk 'NR!=1&&$2!=""{print$2;exit}'
# без grep + баг-фикс
> Боюсь, что
Мдамм... :`)) Просил же человек без этих ваших "sed-ов, grep-ов и _прочих_"!!
На /bin/bash -- переписать?! //Ухожу-ухожу.
>>>| awk '{print $2}' | grep -v block
> | awk 'NR!=1&&$2!=""{print$2;exit}'
> # без grep + баг-фикс
>> Боюсь, что
> Мдамм... :`)) Просил же человек без этих ваших "sed-ов, grep-ов и _прочих_"!!
> На /bin/bash -- переписать?! //Ухожу-ухожу.Можно к грепами и седами :)
просто я в них не понимаю пока... просто скопирую и буду юзать :)
$ awk </proc/partitions -v D=hda4 '$4==D{printf"%.2fM\n",$3/1024/1024;exit}'
297,85M
$ _
> $ awk </proc/partitions -v D=hda4 '$4==D{printf"%.2fM\n",$3/1024/1024;exit}'
> 297,85M
> $ _На неразмеченном-то диске? :) Хотя да - тоже сильно. Как чичас говорят - "респект".
> | awk 'NR!=1&&$2!=""{print$2;exit}'
> # без grep + баг-фикс
> Мдамм... :`)) Просил же человек без этих ваших "sed-ов, grep-ов и _прочих_"!!Сильно. Ваше кунфу посильнее будет. :)))))
>> | 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-ем не прошли. +<)
> Боюсь, что 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 напустить, и вытащить из кучи мусора размер. ;)
> помогите
# fdisk -l
> Привет
> пишу скрипт, в котором мне необходимо получать размер диска в определенных величинах.
> например в мегабайтах.
> к сожалению пока не получается, так как для больших винтов размер возвращается
> в гигах
> я не силен в grep-ax, sed-ах и прочих утилитах, поэтому задача становится
> непосильной
> помогите написать скрипт, который бы мне вернул размер диска в определенных величинах.
> спасибоblockdev --getsz /dev/sda