Перейти к содержимому

Вышла новая версия RISH 2.2.1

06 августа 2025

В этой версии исправлены досадные ошибки и полностью переработана система ручной работы с архивами.

То, о чем так долго говорили большевики просили пользователи, совершилось – теперь можно исключать папки во время создания архивов. А самое главное – теперь появилась возможность автоматического восстановления архива в сайт на сервере. Все делается само!

Какие изменения внесены?

Вначале о багах и фиксах

папка tmp PHP
Один из самых неприятных и малозаметных багов – при смене версии PHP для сайта терялся путь к tmp папке PHP. Для большинства сайтов это оставалось незамеченным, но могло повлиять на сайты с версией PHP 8.4.
Сейчас баг исправлен и настройки тех сайтов, которые оказались затронуты, будут автоматически исправлены во время обновления RISH. Соответствующие сообщения при обновлении будут выведены (если такие ошибки в настройках будут найдены).

Это все было связано с тем что создание php пулов делалось разными процедурами в разных частях RISH. Теперь на всех процедура единая и таких вещей больше не должно появляться.

улучшение работы подсистемы создания интерактивных меню
Реакция на нажатие кнопок должна стать более предсказуемой и исключить появление случайных символов при слишком быстром нажатии клавиш. Так же, теперь, если слишком быстро нажимать стрелочки ДО появления меню (например в процессе архивации) скрипт больше не должен падать (хотя это не исключает появление нажатых символов на экране).
проверка доступности сервера при клонировании сайта по SSH

Раньше при клонировании сайта и создании нового подключения к серверу, его доступность проверялась с помощью ping. Если на сервере отключен или частично заблокирован протокол ICMP (а такое часто бывает на облачных серверах) то сервер кажется для RISH недоступным, хотя к нему можно подключиться по SSH.

Это нельзя назвать багом и я даже не собирался вначале исправлять это поведение. Однако, изучив лучшие рекомендации и опыт работы с другими серверами, решил исправить такое поведение.

Теперь тестирование доступности сервера происходит путем тестирования доступности подключения по SSH. Этого достаточно для клонирования, а выбор способа защиты сервера теперь остается полностью на администраторе сервера. RISH теперь не диктует никаких правил в этом плане.

при добавлении на сервер новых версий PHP пути к ним не добавлялись в меню hotlist

Если добавить на сервер новую версию PHP, то в меню закладок (hotlist), которое вызывается по Ctrl \ не добавлялись пути к новым версиям PHP. Это было заметно далеко не сразу, а судя по тому, что никто до сих пор мне не написал об этом баге, так и вообще осталось многими незамеченным.

Тем не менее баг неприятный и самое главное – проявляется в самый неподходящий момент – когда тебе срочно нужно что-то найти в настройках PHP.

Раз уж дошла очередь до самого списка меню закладок – в него были добавлены некоторые полезные пункты:

Путь к root и путь к домашним папкам пользователей, где хранятся пароли к базам данных и где надо размещать ключи доступа по SFTP. Явно написал про SFTP для тех, кто не сильно разбирается в архитектуре Linux.

Что добавлено?

Работа с архивами

Вся система создания архивов через меню и восстановления переписана полностью. Собственно ранее функций восстановления не было вовсе.

1. Сейчас при создании архива к его имени добавляется текущая дата, год и время. Это позволяет ясно понимать в какое время был создан архив. А так же исключает неприятную пропажу созданных архивов при автоматическом бекапе на яндекс по cron. Это происходило если оставить архивы в папке с сайтами (некоторые так часто поступают).

Так же сейчас архив базы данных тоже сжимается gz и получил новое расширение - .sql.gz. Соответственно база данных занимает меньше места.

2. Для работы со сжатыми файлами добавлены новые функции – сжать файл и разархивировать его. То же самое касается и разархивирования zip архива. При извлечении работа с ними стала значительно удобнее.

Создание архивов по симлинкам (символическим ссылкам)

Новая версия RISH умеет создавать архивы не только традиционных папок, но содержимого по символическим ссылкам.

На некоторых серверах для быстрого развертывания используют не прямое указание на папку сайта, а символическую ссылку, которая ведет на текущую версию сайта.

В этом случае приходится проверять такую ситуацию и создавать архив именно по тому содержимому куда указывает ссылка. Теперь RISH умеет и так. С вашей стороны делать ничего не надо – просто создаем архив, наведясь курсором на симлинк. Далее RISH делает все остальное.

Создание архивов с исключениями

При создании архивов сайтов большой объем могут занимать кеш, временные файлы или логи сайта. Все эти файлы не нужны при создании архивов сайта. Причем сами папки должны в архиве остаться, а вот содержимое их не требуется. Если сайт нужен для отладки и папка images занимает огромный объем – такая функция будет очень полезной.

Теперь можно создавать архив сайта или папки с исключениями содержимого указанных папок. Для примера есть уже несколько готовых рецептов, которые вы можете скопировать, если у вас сайт на Joomla.

Папки нужно перечислить через запятую.
Набор исключений, которые вы вводите сохраняется в специальной переменной в файле настроек /root/rish/rish_config.sh. Его можно позднее отредактировать вручную и добавить если нужно другие значения. Имя переменной ARCHIVE_EXCLUDE.

Восстановление сайтов

Раньше этой функции в RISH просто не было. Архив сайта приходилось восстанавливать вручную. теперь все делает скрипт автоматически. И даже настраивает Joomla, если у вас Joomla сайт.

RISH автоматически проверяет наличие базы для сайта и если она есть – восстанавливает целиком сайт вместе с базой (если будет выбрана такая опция). Если vhost для сайта не существовало – он будет создан.

Как видим, сам процесс довольно прозрачный и понятный – думаю особых комментариев здесь не требуется. Можно разобраться самостоятельно. Скрипт максимально дружелюбный.

Если будут вопросы или заметите какие-то баги – пишите в наш дружелюбный телеграм чат и подписывайтесь на телеграм канал новостей RISH.

Основатель проекта