slavchickalpha
@slavchickalpha

Как узнать количество свободного места на сервере через ssh и отправить в php?

Как на php подключиться через ssh, и узнать количество свободного дискового пространства на сервере и отправить это в php?
  • Вопрос задан
  • 3574 просмотра
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Самый простой способ - завести SSH ключ чтобы логиниться без пароля, и в пхп написать
$out = shell_exec("ssh user@host 'df -BM'");
ну и распарсить потом $out;
Ответ написан
slavchickalpha
@slavchickalpha Автор вопроса
Разобрался!
В SSH отправлять df -k -BG / | tail -1 | awk '{print $4}'

И получим свободное место на диске в ГБ.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
zorca
@zorca
Можно использовать Deployer, Envoy или просто exec(). Но лучше использовать какого-нибудь агента, который будет постоянно работать на сервере и отдавать нужную нам информацию по простому запросу на выбранный порт или же на регулярной основе, через API. Ну например, на сервере создаем крон-задачу, которая будет раз в час запускать консольный php-скрипт и складывать инфу в json-файл. Тогда мы сможем получить место на диске простым запросом к этому json, не мучаясь ssh-запросами к серверу и не открывая потенциальную дыру в безопасности.
Ответ написан
@Nc_Soft
Лучше для этих целей использовать zabbix
У него есть api и пакеты для php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы