Полезности OpenVZ и прочее

 


#MySQL

Бэкап всех баз:

mysqldump [OPTIONS] --all-databases

#Telegram

Отправка сообщения в чат Telegram из скрипта:

curl -X POST "https://api.telegram.org/bot376775777:AAFNVUZXFX0EnRZyweuY5iAnMGd1VsQ1Opg/sendMessage" -d "chat_id=-218318367&text=message to chat"

 


#OpenVZ

Если скрипт с командой exec или exec2 не выполняется из крона, то прописать в начало скрипта:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Лимит нагрузки на диски:

vzctl set 777 --iolimit 3M --save

Подробнее про лимиты на диск и проверку тут.


Установить объём RAM - vzctl set {ID} --privvmpages 512M:512M --save

Кол-во оперативной памяти, используемой контейнером

vzctl exec2 110 free -m | grep Mem | awk '{print $3}'

Выполнение команд в каждом контейнере в цикле:

# for CT in $(vzlist -H -o ctid); do echo "== CT $CT =="; vzctl exec $CT uptime; done

Конвертирование из ploop в simfs — https://gist.github.com/dlage/8dd97c285e2dd41f58c2

Если операция заканчивается с ошибкой, но при этом получился готовый каталог с именем «имя контейнера.fail», а скрипт ругается на то, что не нашёл в конце конфигурации для этого контейнера, то можно вручную переименовать полученный каталог, скопировать для него конфиг и запустить контейнер.

Интересные и полезные видео:

Живая миграция контейнеров: плюсы, минусы, подводные камни -https://events.yandex.ru/lib/talks/3118/

CRIU: больше, чем живая миграция для Linux контейнеров — https://events.yandex.ru/lib/talks/352/