Рубрика: Unix

Inodes путь проверки и лечения.

Inodes путь проверки и лечения.

Если у вас возникла ошибка типа: cannot create temp file for here-document: No space left on device

или при запуске сервайсов просто No space left on device

То для начала проверьте можно ли писать данные в каталог /tmp

ls -lha tmp

и даже если все на ваш взляг в порядке на всякий сделайте

chmod a+wrxt /tmp

Проверьте — решилась ли проблема. Нет? Тогда проверяем место и inodes

df -h

— место — все впорядке — дальше, занято на 99%-100% — чистим.

df -i

— место занятое инодами, если 50-95%+, то ищем где-они распалагаются

find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

Там где больше значение, заходим туда, повторяем команду, и так далее, пока не найдем большую часть, обычно почти все забито в одном каталоге, и чаще всего, как показывает практика это каталог /var/www/data/mod-tmp и реже bin-tmp

Чистим inodes

find /var/www -wholename "*/data/mod-tmp/*" -type f -cmin +360 -print0 | xargs -r -0 rm

Перезапускаем сервайсы если требуется, но если они были запущены, то обычно не надо. Проверяем работает ли всё. Сайты там, базы…

Профит

Рекурсивный поиск и замена текста в файлах Linux?

Рекурсивный поиск и замена текста в файлах Linux?

Да, и такое есть:

find . -type f -name '*.py' -exec sed -i -r 's/regexp/new_replacement/g' {} \;

Вот держи.
Объяснять н-н-надо?

Ок.

В переводе:

find(найду) .(здесь) -type(тип) f(файлы) -name(с именем) ‘*.py'(все, что заканчиваются на .py) —exec(выведу) sed(выделю) -i -r(рекурсивно) ‘s/меняемэто/наэто/g’ {} \;(закрываемся)

Рекурсивный CHMOD

Рекурсивный CHMOD

Надо поменять права только для файлов?
Тогда на:


find . -type f -exec chmod 644 {} \;

Или может, только для каталогов?
Вот, держи:


find . -type d -exec chmod 755 {} \;

Мне кажется, что тебе не надо объяснять ничего. Ты ведь умница.