
Удалить все таблицы в базе MySQL
Если нужно удалить все таблицы в базе не удаляя самой базы можно так:
mysqldump -uuser -ppassword —add-drop-table —no-data database_name | grep ^DROP | mysql -uuser -ppassword database_name
Если нужно удалить все таблицы в базе не удаляя самой базы можно так:
mysqldump -uuser -ppassword —add-drop-table —no-data database_name | grep ^DROP | mysql -uuser -ppassword database_name
Если у вас возникла ошибка типа: 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
Перезапускаем сервайсы если требуется, но если они были запущены, то обычно не надо. Проверяем работает ли всё. Сайты там, базы…
Профит
Да, и такое есть:
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’ {} \;(закрываемся)