Как автоматически обрабатывать небольшое дисковое пространство?

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

Мой вопрос: есть ли способ перезапустить службу mysql, когда диск получает более 95% использования?

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

3 Solutions collect form web for “Как автоматически обрабатывать небольшое дисковое пространство?”

Если вы используете systemd для запуска mysql вы можете добавить LimitFSIZE в файл устройства.

Без systemd вы можете использовать ulimit :

 bash -c 'ulimit -f 100; dd if=/dev/zero of=bigfile bs=10M count=1; echo foo' 

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

Возможно, квота файловой системы более гибкая (я не знаком с ними). Это будет вариант, если у вас есть учетная запись пользователя, которая просто запускает mysql (что, вероятно, так или иначе).

Как вы говорите, вы просите неортодоксальное решение, но, поскольку вы это признаете, вы можете проверить свободное пространство с помощью df

 df /partition/you/need/to/monitor 

Разберите вывод этого и на основе того, что вы найдете, перезапустите службу mysql. Вероятно, для этого вам понадобятся привилегии root, поэтому вам может потребоваться разрешение перезапуска службы с настройкой sudo без пароля .

Вы можете автоматизировать все это с помощью cron.

Если вы используете monit, вы можете сделать это, чтобы контролировать файловую систему и перезапускать mysql-сервисы, когда дисковое пространство слишком низкое.

Проверьте https://mmonit.com/monit/documentation/monit.html#filesystem_flags_testing

  • Не удается установить MariaDB и Mysql на одном компьютере?
  • Расчет требований к RAM / Swap Space
  • Wordpress не узнает базу данных MySQL
  • воссоздать mysqld файл centos
  • запускать несколько экземпляров MySQL CentOS7
  • Проблемы с установкой mysql на debian
  • Не удалось переименовать пользователя root из MySQL
  • Сохранение услуг на EC2 в живых
  • Ubuntu с LAMP + Mediawiki, страдающим шипами
  • Процесс восстановления mysql занимает больше времени
  • MySQL отказывается удалить
  • Пакетный импорт файлов .sql
  • Interesting Posts

    Использование сценария оболочки для извлечения данных на основе пользовательского ввода

    Как разбить образ диска ddrescue и как его использовать?

    Какой инструмент я могу использовать для обнюхивания трафика HTTP / HTTPS?

    Как я могу использовать ключ, отличный от <ENTER>, чтобы выйти из меню / виджета завершения zsh?

    Какая разница между ключом openssh и ключом шпатлевки?

    Повторно активировать сохраненный pid окна с помощью xdotool

    Слова, которые заканчиваются на s, НО исключают слова, которые заканчиваются словами s

    Ошибка WiFi wpa_supplicant

    Почему .bash_profile не может установить переменную PS1?

    Debian 8 (Jessie) не загружается при перезагрузке с ошибкой «Не удалось запустить службу входа»,

    Bash Scripting: печать данных столбца в одной строке

    Как правильно размонтировать установленные каталоги после выполнения chroot?

    Требуется ли sshd для использования на персональном компьютере?

    Как расширить раздел с LVM и физическим томом и логическим томом?

    Не удалось установить терминал Nautilus

    Linux и Unix - лучшая ОС в мире.