Мониторинг и бэкап на VPS без панели
Две важные вещи — мониторинг и бэкап. После установки сайт может падать из-за неоптимальных настроек. Поэтому лучше сразу установить хотя бы простое решение, позволяющее перезапускать сервисы. В репозиториях есть отличные утилиты healt-check или monit, проверяющие не только сервисы, но и общее состояние системы. Настроек там много, и на первых порах или на легких сайтах можно обойтись простеньким скриптом. Для nginx он будет выглядеть примерно так:
По аналогии можно добавить контроль MySQL, PHP-FPM и SMTP-сервера. Решений для бэкапа в репозитории больше чем достаточно, в зависимости от ситуации и наличия ресурсов можно подобрать себе любой по вкусу. В самом простом случае можно использовать самописный скрипт, который будет собирать папки /etc, веб-серверы и SQL-базы и отправлять их на FTP. Файлы будем хранить неделю. Чтобы файлы удалялись автоматически, в имени будем использовать остаток от деления, тогда новый файл с таким же именем будет перезатираться. В нашем примере будем делить на 7.
Отличный скрипт для бэкапа, если у Вас один или два сайта. Для большого количества сайтов, нужно писать более сложный скрипт с разделением архивов по сайтам.
У нас Вы можете заказать настройку резервного копирования вашего сайта, или поддержку всего VPS, обращайтесь в раздел Контакты.
Хороший скрипт. Было б не плохо иметь дампы баз отдельно не в одном файле, часто бывает надо развернуть бекап конкретной базы а не всег баз. к примеру вот так:
for db in $(mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e ‘show databases;’ | grep -Ev «^(Database|mysql|information_schema|performance_schema|phpmyadmin)$»)
do
#echo «processing ${db}»
mysqldump —opt -u${MYSQL_USER} -p${MYSQL_PASSWORD} «${db}» | gzip > ${WORKING_DIR}/${db}_$(date +%F_%T).sql.gz
done
Спасибо за скрипт.
Дополню. Чтобы каждый раз не задавать значения переменным PGREP, TAR, etc., можно в исполн. файле дописать в начале файла:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
И gzip -9 — это много (тем более, что он однопоточен). Вполне хватит 5 — скорость сжатия и степень оптимальны.
Для многопоточности же исп. 7Zip. Т.е. сперва упаковываем в TAR для сохранения разрешений на файлы и папки, а после — в 7Zip для лучшего сжатия и скорости (за счет многопоточности).