Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

Как решить проблему с переполнением /tmp в Ubuntu?

На сервере с Ubuntu хостится сайт. Раз в две недели стабильно падает с ошибкой
SQLSTATE[HY000]: General error: 1 Can't create/write to file '/tmp/#sql_3f0_0.MYD' (Errcode: 28)
Я так понимаю, что забивается папка /tmp. Причем перезапуск VPS не помогает. Только rm -r /tmp
Можно как-нибудь регулировать подобное поведение, чтобы предотвратить падение сайта?
root@185:/home/admin# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda3 29G 21G 6.1G 78% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 492M 4.0K 492M 1% /dev tmpfs 101M 384K 100M 1% /run none 5.0M 0 5.0M 0% /run/lock none 501M 0 501M 0% /run/shm none 100M 0 100M 0% /run/user /dev/xvda1 190M 184M 0 100% /boot root@185:/home/admin# df -h tmp Filesystem Size Used Avail Use% Mounted on /dev/xvda3 29G 21G 6.1G 78% / root@185:/home/admin#

из комментария:
$ stat -c '%A' /tmp drwxrwxrwx


Ответ

$ stat -c '%A' /tmp drwxrwxrwx
это неправильно для каталога /tmp. из man chmod
this is called the restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp
добавьте флаг restricted deletion
$ sudo chmod +t /tmp

я не уверен в том, что именно в этом проблема, но «зацепили» слова про «помогает только удаление /tmp» и отсутствие упоминания про то, каким образом каталог воссоздаётся.

в общем и целом я бы порекомендовал для выявления проблемы начать с мониторинга свободного пространства на разделе, где находится каталог /tmp. как-нибудь так (раз в пол-часа добавляется строчка с датой и выводом программы df в файл ~/mm):
$ while true; do sleep 1800; { echo -n "$(\date) "; df /tmp | tail -n 1; } >> ~/mm; done
команду эту лучше, конечно, запустить в сеансе screen-а (или tmux-а), чтобы она не прервалась при обрыве связи с сервером.

Комментариев нет:

Отправить комментарий