Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать свободное место на диске (одна цифра) 
:(
    Опции темы
KYI
Дата 25.9.2017, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Добрый день!
Прошу помощи в написании маленького скрипта, т.к. сам в этом не очень силен.
Необходимо получить "голую" цифру которая показывала бы свободное или использованное место на диске
Знаю команду df, но это не сильно помогает
Делаю так
Код

df -m /vmfs/volumes/LocalStore_1

Получаю это
Код

Filesystem 1M-blocks    Used Available Use% Mounted on
VMFS-5       2851328 1966693    884635  69% /vmfs/volumes/LocalStore_1

Подскажите как получить голую цифру 1966693 или 884635
Желательно что бы команда(ы) была в одну строку.
PM   Вверх
Romikgy
Дата 25.9.2017, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | tr -s " " | cut -d " " -f 4


Это сообщение отредактировал(а) Romikgy - 25.9.2017, 10:57


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 25.9.2017, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Ух... ничего себе, а можно пояснить что и куда?
И кстати, пишет вот такое
Код

-sh: tr: not found

Думаю это ограничение гипервизора VMware
Может другие варианты?
PM   Вверх
Romikgy
Дата 25.9.2017, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(KYI @  25.9.2017,  10:02 Найти цитируемый пост)
tr

tr

может есть busybox ? тогда перед tr нужно добавить busybox 
или поставить команду tr в unix ваш 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 25.9.2017, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Цитата(Romikgy @  25.9.2017,  11:25 Найти цитируемый пост)
может есть busybox ?

Да, есть, сейчас попробую добавить.
Ага, извиняюсь за дикость, а как это делается, тупой я в линуксах?
Вот так не работает
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | busyboxtr -s " " | cut -d " " -f 4


Это сообщение отредактировал(а) KYI - 25.9.2017, 11:43
PM   Вверх
Romikgy
Дата 25.9.2017, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | busybox tr -s " " | cut -d " " -f 4



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 25.9.2017, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



К сожалению не работает :-(
Говорит, что нету busybox - странно
Видимо не судьба мне настроить мониторинг ESXi

Спасибо за помощь, буду искать другие пути.
PM   Вверх
Romikgy
Дата 25.9.2017, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



так скачай busybox и положи рядом со скриптом... права на исполнения добавь
chmod +x busybox 
немного изменится команда 
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | ./busybox tr -s " " | cut -d " " -f 4

и пользуйся....


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 25.9.2017, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Если бы так было просто.
Это ESXi, а он то ли недолинух, то ли вообще сурагат какой то.
У меня задумка была натравить на ESXi нашу систему мониторинга, в этой системе можно по SSH отправлять запросы в виде скриптов и получать ответы, но не тут то было.
PM   Вверх
Romikgy
Дата 25.9.2017, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



линукс - это просто , главное знать как....


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Romikgy
Дата 25.9.2017, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(Romikgy @  25.9.2017,  15:30 Найти цитируемый пост)
busybox tr -s " "

Код

busybox sed "s/ */ /g"



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 26.9.2017, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Romikgy, спасибо, что продолжаете помогать.
Не  понимаю что означают строки из последнего вашего сообщения, но решил попробовать вот это
Код

sed -?

Получил вот это
Код

sed: invalid option -- '?'
BusyBox v1.22.1 (2016-03-26 07:03:26 PDT) multi-call binary.

Usage: sed [-inrE] [-f FILE]... [-e CMD]... [FILE]...
or: sed [-inrE] CMD [FILE]...

        -e CMD  Add CMD to sed commands to be executed
        -f FILE Add FILE contents to sed commands to be executed
        -i[SFX] Edit files in-place (otherwise sends to stdout)
                Optionally back files up, appending SFX
        -n      Suppress automatic printing of pattern space
        -r,-E   Use extended regex syntax

If no -e or -f, the first non-option argument is the sed command string.
Remaining arguments are input files (stdin if none).


Получается, что BusyBox есть, но почему он тогда не отрабатывает?
Конструкция
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | busybox tr -s " " | cut -d " " -f 4

Сообщает
Код

-sh: busybox: not found


То ли у меня лыжи не едут, то ли..... мысли на этом обрываются

PM   Вверх
Romikgy
Дата 26.9.2017, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



which sed 
покажет где находится sed
по тому пути посмотреть (допустим оказалось /bin/sed)
ls -l /bin/
и ответ покажет на что ссылается sed , это и будет busybox , но переименованный , его и использовать вместо busybox

Добавлено через 4 минуты и 14 секунд
Цитата(Romikgy @  25.9.2017,  19:37 Найти цитируемый пост)
sed "s/ */ /g"

sed - потоковый редактор
s - замена
/ - разделитель
" *" - пробел и больше 
заменяем на " " (один пробел )
g - глобально 
https://ru.wikipedia.org/wiki/Sed


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 27.9.2017, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Цитата(Romikgy @  26.9.2017,  20:45 Найти цитируемый пост)
which sed 
покажет где находится sed
по тому пути посмотреть (допустим оказалось /bin/sed)
ls -l /bin/
и ответ покажет на что ссылается sed, это и будет busybox, но переименованный, его и использовать вместо busybox


Добрый день!
Делаю which sed и получаю как вы и говорили
Код

/bin/sed

Далее делаю ls -l /bin/ и получаю портянку (см. приложенный файл). Красивая такая, разноцветная

Если я что то понимаю, то на busybox ссылается много чего
Как понять что именно нужно?

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  busybox.txt 24,27 Kb
PM   Вверх
Romikgy
Дата 27.9.2017, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | /usr/lib/vmware/busybox/bin/busybox tr -s " " | /usr/lib/vmware/busybox/bin/busybox cut -d " " -f 4


Добавлено через 2 минуты и 34 секунды
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | sed "s/ */ /g" | cut -d " " -f 4



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 27.9.2017, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Romikgy, в первом случае выдал
Код

tr: applet not found

во втором случае выдал просто F
Это так и задумано?

Такс...
Попробовал разобраться по шагам, вот что у меня получается
Вот эта часть выдает информацию без шапки
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]"

Вот эта часть, как вы и описывали заменяет глобально пробелы
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | sed "s/ */ /g"

и на выходе получается красотища
Код

 V M F S - 5 2 8 5 1 3 2 8 2 0 1 6 4 8 4 8 3 4 8 4 4 7 1 % / v m f s / v o l u m e s / L o c a l S t o r e _ 1

А вот это, если я правильно понимаю, должно взять четвертый блок и вывести его
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | sed "s/ */ /g" | cut -d " " -f 4

Так и получается F

Это сообщение отредактировал(а) KYI - 27.9.2017, 14:52
PM   Вверх
Romikgy
Дата 27.9.2017, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



нет , должно быть нормально 
uname -a 
какой ответ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 27.9.2017, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Цитата(Romikgy @  27.9.2017,  14:47 Найти цитируемый пост)
uname -a 

Дает такой ответ
Код

VMkernel s-vm1.mydomain.loc 6.5.0 #1 SMP Release build-5969303 Jul  6 2017 21:22:25 x86_64 x86_64 x86_64 ESXi

Кстати, решил разобраться с sed "s/ */ /g"
даю команду
sed -?
а он в ответ
Код

sed: unrecognized option '-?'
BusyBox v1.22.1 (2016-03-26 07:03:26 PDT) multi-call binary.

Usage: sed [-inrE] [-f FILE]... [-e CMD]... [FILE]...
or: sed [-inrE] CMD [FILE]...

        -e CMD  Add CMD to sed commands to be executed
        -f FILE Add FILE contents to sed commands to be executed
        -i[SFX] Edit files in-place (otherwise sends to stdout)
                Optionally back files up, appending SFX
        -n      Suppress automatic printing of pattern space
        -r,-E   Use extended regex syntax

If no -e or -f, the first non-option argument is the sed command string.
Remaining arguments are input files (stdin if none).

Получается что в моей sed нету ключей S и G
--------------

В общем выкинув один блок (который пробелы глобально подставляет) получил вот такую конструкцию
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | cut -d " " -f 13

и вот из такого
Код

VMFS-5       2851328 2016488    834840  71% /vmfs/volumes/LocalStore_1

получил вот такое
834840
О, чудо, оно сработало!
Правда не знаю на сколько корректно все я сделал
Romikgy,
Проверьте мои каракули имеют они право на жизнь и применение в рабочих процессах?

Это сообщение отредактировал(а) KYI - 27.9.2017, 15:48
PM   Вверх
Romikgy
Дата 27.9.2017, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



изменятся количество цифр , будет не корректный результат давать 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 27.9.2017, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Цитата(Romikgy @  27.9.2017,  15:58 Найти цитируемый пост)
будет не корректный результат давать  

Ага, понимаю, именно поэтому вы пытались несколько пробелов заменить на один пробел.
Хм... 
А как тогда быть, может есть еще варианты?
PM   Вверх
Romikgy
Дата 27.9.2017, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | awk  "{print $4}"



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 27.9.2017, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Цитата(Romikgy @  27.9.2017,  16:06 Найти цитируемый пост)

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | awk  "{print $4}"


Выдало ровно то же самое что и 
Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]"

т.е. вот это
Код

VMFS-5       2851328 2016492    834836  71% /vmfs/volumes/LocalStore_1


Это сообщение отредактировал(а) KYI - 27.9.2017, 16:08
PM   Вверх
Romikgy
Дата 27.9.2017, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Код

df -m /vmfs/volumes/LocalStore_1 | grep -E "^[^F]" | awk  '{print $4}'



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
KYI
Дата 27.9.2017, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Romikgy, ОГРОМЕННОЕ спасибо.
Работает!
Надо себе в блокнотик записать, много чего полезного узнал.

Добавлено через 1 минуту и 21 секунду
Блин, а как тут плюсы ставить?
Мне говоря, что я еще маленький для выставления плюсов.
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.1971 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.