Compare commits

...

83 Commits

Author SHA1 Message Date
c4e60fb621 поправил формулировку для титра Следующая игра 2026-01-20 11:13:37 +03:00
1409ddaf77 поправил надпись в расписании 2026-01-05 12:36:33 +03:00
358a58e2ff commentary:
поправил отображение колонок для левого спортсмена в сезон/карьера и добавил галочки отображения нужных колонок
2025-12-12 11:06:13 +03:00
d1d3567f2f коммит1 2025-12-11 18:07:13 +03:00
d75042ca7a обновил поиск следующей игры для титра и поправил commentary 2025-12-10 15:07:36 +03:00
5e42fd69cd commit 2025-12-06 12:42:36 +03:00
9cb9e1b082 adsfads 2025-12-05 20:45:38 +03:00
68654664df fgdfg 2025-12-05 20:41:50 +03:00
42272fc9c6 replace + на _ 2025-12-05 20:36:32 +03:00
037b691921 commit 2025-12-04 16:11:59 +03:00
621c097ca7 milestones добавленны 2025-12-01 13:05:32 +03:00
eff04e68f4 вырезал milestones 2025-12-01 13:02:55 +03:00
aec3fccfea убрал отображение в статусе запросов по league_stats, season_stats 2025-11-28 11:23:44 +03:00
bfa74b51c3 добавил топ и поправил следующие матчи 2025-11-27 18:02:06 +03:00
a317dd9d6a убрал SHORTMAPS_LOCK 2025-11-26 14:09:21 +03:00
9efb351522 удалил букву я 2025-11-26 13:39:40 +03:00
Alexey Barabanov
04574f5621 куьщму check_required_files 2025-11-26 13:26:54 +03:00
Alexey Barabanov
9aa698dcfe Добавлен проверка на лок переменной SHOTMAP 2025-11-26 13:16:10 +03:00
101a5a09d3 Merge branch 'main' of https://git.tvstart.ru/ychernenko/RFB 2025-11-26 11:33:35 +03:00
edf044b0ab добавлено 2 dashboarda 2025-11-26 11:33:28 +03:00
31c1ab16fa add enisey 2025-11-25 10:10:40 +00:00
Alexey Barabanov
ee7c6eee86 remove .bat 2025-11-23 12:09:52 +03:00
Alexey Barabanov
59488f2c37 Добавленно несколько мест где можно потимизировать код 2025-11-22 20:40:09 +03:00
Alexey Barabanov
a2475c262a Оптимизирована замена URL в функции change_vmix_datasource_urls 2025-11-22 19:19:17 +03:00
1151027466 поправил картинки для W и L 2025-11-22 11:56:43 +03:00
a27d2c3d0b подставляю пробел вместо пустоты, когда обнуляю данные в vMix 2025-11-21 16:41:30 +03:00
8c8ea3f9a9 1. добавил карту бросков
2. /last_5_games: последние пять игр + 1 следующая игра. в последних пяти играх не учитывается игра, которая загруженна
2025-11-21 16:28:29 +03:00
d080faac2f было FQDN = get_fqdn
стало FQDN = get_fqdn()
2025-11-20 17:18:31 +03:00
7ebe5f822b дописал порт к локальному ip 2025-11-20 16:33:52 +03:00
Alexey Barabanov
94b7e34573 причёсинг 2025-11-20 16:07:43 +03:00
Alexey Barabanov
3a360e0c79 Доделки по FQDN 2025-11-20 13:29:12 +03:00
Alexey Barabanov
da7e7ad833 Add get_fqdn function 2025-11-20 13:04:57 +03:00
Alexey Barabanov
9249af4b75 add get_fqdn function 2025-11-20 13:03:47 +03:00
56ab87467d test7 2025-11-18 19:01:01 +03:00
c984bc359e test6 2025-11-18 18:49:11 +03:00
b2d7a80a66 коммит5 2025-11-18 14:13:07 +03:00
1b26964eed test4 2025-11-18 13:52:27 +03:00
c9ab12ab5f чистка папки с картой бросков 2025-11-18 13:41:28 +03:00
cb5ad666d9 test3 2025-11-18 13:31:57 +03:00
4001c70428 trr 2025-11-18 13:24:05 +03:00
087af690dd gfhfgh 2025-11-18 13:07:01 +03:00
46bba1ef85 вафв 2025-11-18 12:46:32 +03:00
88264f0d4d добавил библиотеку pillow 2025-11-18 12:45:31 +03:00
43c3c6e02d поправил карту бросков 2025-11-18 12:41:01 +03:00
0ed7b5f06d предварительный коммит shotmap 2025-11-17 18:34:55 +03:00
7ebfc4eeaa поправил сброс данных. было по окончанию матча статус finished_wait сбрасывал сразу данные на пустые 2025-11-15 16:54:01 +03:00
0542feba36 поправил формулировку для онлайн матчей, вместо After - End 2025-11-15 16:07:21 +03:00
c68b4739fd поправил games online, добавил сплит туда 2025-11-15 15:58:29 +03:00
80a35988e0 test 2025-11-15 15:22:14 +03:00
5f9ff8bd0d исмчисми 2025-11-15 14:29:59 +03:00
bc5974d6ee убрал warning на excel 2025-11-15 12:44:24 +03:00
b163583143 поменял дату на сегодня. (было сегодня +1 день для теста) 2025-11-14 17:10:44 +03:00
afa184f8e7 расписание онлайн и логотипы из excel 2025-11-14 17:08:07 +03:00
c9d02b5991 на windows pass для создания vmix проекта 2025-11-14 11:06:01 +03:00
86e7600042 Merge branch 'main' of https://git.tvstart.ru/ychernenko/RFB 2025-11-14 11:03:59 +03:00
0c0c18c783 правильно замена url на виртуальных тачках 2025-11-14 11:03:57 +03:00
84a3fa9149 SYNO_PATH_VMIX fix 2025-11-13 15:56:56 +00:00
ffd4108be8 поправил - в env для телеграмм бота 2025-11-13 18:13:32 +03:00
313a2784a1 Merge branch 'main' of https://git.tvstart.ru/ychernenko/RFB 2025-11-13 18:10:19 +03:00
a3ea23f5d0 убрал / после host 2025-11-13 18:10:16 +03:00
Alexey Barabanov
96e72f2ee3 Опечатка 2025-11-13 18:02:16 +03:00
Alexey Barabanov
02592f145c Merge remote-tracking branch 'refs/remotes/origin/main' 2025-11-13 17:45:18 +03:00
Alexey Barabanov
af9cacb3d8 Не ЯБУЧИЙ 3й пип!!!!!
СУКА
2025-11-13 17:44:20 +03:00
c1be4b900b Merge branch 'main' of https://git.tvstart.ru/ychernenko/RFB 2025-11-13 17:36:24 +03:00
12b0d0a86f обновил requirements 2025-11-13 17:36:20 +03:00
Alexey Barabanov
86b626944d Merge remote-tracking branch 'refs/remotes/origin/main' 2025-11-13 17:28:40 +03:00
Alexey Barabanov
df995d6d09 коминт 2025-11-13 17:26:15 +03:00
90df6ff765 1. добавил в gitigove .env
2. /vmix - генерируется проект vMix с нужными линками для виртуальных машин
2025-11-13 17:25:18 +03:00
0dab883b30 починил play_by_play для офлайн матча 2025-11-13 15:46:06 +03:00
ced3220d62 добавил новый endpoint /play-by-play 2025-11-13 14:42:24 +03:00
4ff05fa50c убрал лишний print в console по поводу чистки данных 2025-11-13 13:07:06 +03:00
35e873a041 отдача пустых данных для vMix, в момент когда треды переключаются из офлайн в онлайн 2025-11-13 13:06:14 +03:00
92e6a9f463 change telegram chat id 2025-11-12 18:17:35 +03:00
834ba36d74 Merge branch 'main' of https://git.tvstart.ru/ychernenko/RFB 2025-11-12 14:34:54 +03:00
95be10629e коммит 2025-11-12 14:34:49 +03:00
Alexey Barabanov
cf06adbfab ТЩЕ ЦЩКЛШТП! 2025-11-10 13:21:46 +03:00
225e26a1bb поправил оффлайн тред. теперь после первого успешного получения game, отключает тред 2025-11-10 10:45:05 +03:00
f90fead704 chmod +x 2025-11-06 17:03:18 +03:00
002676e8f1 add *.venv 2025-11-06 17:03:06 +03:00
bb2551242f скрыли docs и тп 2025-11-06 11:55:28 +03:00
ffe9d357d5 поправил треды с pregame и pregame-full-stats, когда матч ОНЛАЙН они перестают обновляться. и поправил функцию team, что если данных по сезону и карьере нет, то мы спокойно отрабатывает с данными по текущей игре 2025-11-06 11:37:54 +03:00
eec811a8d2 пятерки 2025-11-05 18:49:13 +03:00
907ddd494b фото путь добавил 2025-11-05 18:22:36 +03:00
6 changed files with 5187 additions and 602 deletions

4
.gitignore vendored
View File

@@ -1,3 +1,7 @@
/__pycache__
/TestJson
/logs/*
*.venv
*.env
/shotmaps/*
get_data copy.py

118
README.md
View File

@@ -1,89 +1,119 @@
![VTB logo](https://vtb-league.com/docs/brand/2019/VTB%20League%20logo%20RGB.png)
![VTB Logo](https://vtb-league.com/docs/brand/2019/VTB%20League%20logo%20RGB.png)
RFB Stat - это система для автоматического сбора баскетбольной статистики.
# RFB Stat
Требования
**RFB Stat** — это система для автоматического сбора баскетбольной статистики.
* Ubuntu Linux
* Доступ к репозиторию `https://git.tvstart.ru/`
* *Права root для установки!!*
## Требования
# Установка
- **Ubuntu Linux**
- Доступ к репозиторию `https://git.tvstart.ru/`
- **Права root для установки**
## Установка
Скрипт установки выполняет полную настройку системы:
```shell
chmod +x deploy.sh
```
```shell
./deploy.sh -t <команда> -r <релиз>
```
Параметры командной строки
-t - Название команды (опционально, определяется по IP если не указано)
### Параметры командной строки
-r - Релиз (ветка или тег в git, по умолчанию: main)
| Опция | Описание |
|-------|----------|
| `-t` | Название команды (опционально, определяется по IP, если не указано) |
| `-r` | Релиз (ветка или тег в git; по умолчанию: `main`) |
| `-l` | Лига (опционально) |
| `-h` | Справка по использованию |
-l Лига (опционально)
### Примеры использования
-h - Справка по использованию
1. **Установка с автоопределением команды по IP**
# Примеры использования
Установка с автоопределением команды по IP
```shell
./deploy.sh
```
Установка для конкретной команды
2. **Установка для конкретной команды**
```shell
./deploy.sh -t cska -r main
```
Установка тестовой версии
3. **Установка тестовой версии**
```shell
./deploy.sh -t zenit -r TEST -l vtb
```
# Пакеты и прочее что будет установленно:
Системные пакеты:
* Python3
* pip3
* virtualenv
* Git
* Net-tools
## Установленные пакеты и зависимости
Виртуальное окружение Python с зависимостями:
### Системные пакеты:
* requests
* pandas
* numpy
* fastapi
* uvicorn
* requests
* python-telegram-handler
- Python3
- pip3
- virtualenv
- Git
- Net-tools
### Виртуальное окружение Python с зависимостями:
- requests>=2.31.0
- pandas>=2.0.0
- numpy>=1.24.0
- fastapi>=0.115.0
- uvicorn>=0.30.0
- python-telegram-handler
- python-dotenv
- nasio
- pillow
### Дополнительные инструкции для установки зависимостей
Для установки пакетов из дополнительного репозитория, используйте следующую команду:
```shell
pip install -r requirements.txt --extra-index-url https://git.tvstart.ru/api/packages/lexx/pypi/simple
```
## Управление сервисами
### Просмотр статуса сервисов
# Управление сервисами
Просмотр статуса
```shell
systemctl status rfb-data.service
```
Перезапуск сервиса
### Перезапуск сервисов
```shell
systemctl restart rfb-data.service rfb-visual.service
```
Остановка сервиса
### Остановка сервисов
```shell
systemctl stop rfb-data.service rfb-visual.service
```
Запуск сервиса
### Запуск сервисов
```shell
systemctl start rfb-data.service rfb-visual.service
```
Просмотр логов
```shell
journalctl -u rfb-data.service -f
```
# Онлайн состояние системы
После установки статус приложение доступен по адресу:
### Просмотр логов
```shell
journalctl -t RFB -f
```
### Онлайн состояние системы
После установки статус приложения доступен по адресу:
`http://ВАШ_IP_АДРЕС:8000/status`

273
deploy.sh Normal file → Executable file
View File

@@ -4,8 +4,15 @@
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Конфигурация
REPO_URL="https://git.tvstart.ru/ychernenko/RFB.git"
TARGET_DIR="/root/RFB"
SERVICE_NAME="rfb-data.service"
TARGET_ENV="/mnt/rfb/.env"
show_help() {
echo "Использование: $0 -t <домашняя команда> -r <релиз> [-l <лига>]"
echo " -t Домашняя команда"
@@ -33,13 +40,41 @@ log_error() {
echo -e "${RED}[ERROR]${NC} $1" >&2
}
log_debug() {
echo -e "${BLUE}[DEBUG]${NC} $1" >&2
}
# Функция проверки зависимостей системы
check_dependencies() {
local deps=("git" "python3" "pip" "netstat" "systemctl")
local missing=()
for dep in "${deps[@]}"; do
if ! command -v "$dep" &> /dev/null; then
missing+=("$dep")
fi
done
if [ ${#missing[@]} -ne 0 ]; then
log_warn "Отсутствуют некоторые команды: ${missing[*]}"
return 1
fi
return 0
}
# Функция проверки и установки пакетов
install_packages() {
log_info "Обновление списка пакетов..."
apt-get update
if ! apt-get update; then
log_error "Ошибка при обновлении списка пакетов"
exit 1
fi
log_info "Установка необходимых пакетов..."
apt-get install -y python3 python3-pip python3-venv git net-tools
if ! apt-get install -y python3 python3-pip python3-venv git net-tools; then
log_error "Ошибка при установке пакетов"
exit 1
fi
# Проверка установки
if ! command -v python3 &> /dev/null; then
@@ -47,44 +82,48 @@ install_packages() {
exit 1
fi
if ! command -v pip3 &> /dev/null; then
log_error "pip3 не установлен!"
if ! command -v pip &> /dev/null; then
log_error "pip не установлен!"
exit 1
fi
log_info "Версия Python: $(python3 --version)"
log_info "Версия pip: $(pip3 --version)"
log_info "Версия pip: $(pip --version)"
}
# Функция загрузки кода
download_code() {
local repo_url="https://git.tvstart.ru/ychernenko/RFB.git"
local release="$1"
local target_dir="/root/RFB"
local target_dir="$TARGET_DIR"
log_info "Создание рабочей директории $target_dir..."
mkdir -p $target_dir
mkdir -p "$target_dir"
if [ -d "$target_dir/.git" ]; then
log_info "Обновление существующего репозитория..."
cd $target_dir
cd "$target_dir" || exit 1
git fetch --all
git checkout $release
git pull origin $release
else
log_info "Клонирование репозитория $repo_url..."
git clone $repo_url $target_dir
cd $target_dir
git checkout $release
fi
# Проверка успешности checkout
if [ $? -ne 0 ]; then
if ! git checkout "$release"; then
log_error "Не удалось переключиться на релиз $release"
log_error "Доступные ветки:"
log_info "Доступные ветки:"
git branch -r
exit 1
fi
git pull origin "$release"
else
log_info "Клонирование репозитория $REPO_URL..."
if ! git clone "$REPO_URL" "$target_dir"; then
log_error "Ошибка при клонировании репозитория"
exit 1
fi
cd "$target_dir" || exit 1
if ! git checkout "$release"; then
log_error "Не удалось переключиться на релиз $release"
log_info "Доступные ветки:"
git branch -r
exit 1
fi
fi
log_info "Код успешно загружен (релиз: $release)"
log_info "Текущая ветка: $(git branch --show-current)"
@@ -93,11 +132,20 @@ download_code() {
# Функция настройки виртуального окружения
setup_venv() {
local target_dir="/root/RFB"
cd $target_dir
local target_dir="$TARGET_DIR"
cd "$target_dir" || exit 1
# Удаляем существующее виртуальное окружение для чистоты
if [ -d ".venv" ]; then
log_info "Удаление существующего виртуального окружения..."
rm -rf .venv
fi
log_info "Создание виртуального окружения..."
python3 -m venv .venv
if ! python3 -m venv .venv; then
log_error "Не удалось создать виртуальное окружение"
exit 1
fi
if [ ! -f ".venv/bin/activate" ]; then
log_error "Не удалось создать виртуальное окружение"
@@ -108,7 +156,9 @@ setup_venv() {
source .venv/bin/activate
# Обновление pip
pip install --upgrade pip
if ! pip install --upgrade pip; then
log_warn "Не удалось обновить pip"
fi
# Проверка наличия requirements.txt
if [ -f "requirements.txt" ]; then
@@ -117,34 +167,51 @@ setup_venv() {
log_info "Все зависимости успешно установлены"
else
log_error "Ошибка при установке зависимостей из requirements.txt"
log_warn "Попытка установки базовых зависимостей..."
pip install requests pandas numpy
exit 1
fi
else
log_warn "Файл requirements.txt не найден, устанавливаем базовые зависимости..."
pip install requests pandas numpy
if ! pip install requests pandas numpy fastapi uvicorn python-telegram-handler python-dotenv; then
log_error "Ошибка при установке базовых зависимостей"
exit 1
fi
fi
# Проверка основных пакетов
log_info "Проверка установки основных пакетов..."
python -c "
if ! python -c "
try:
import requests, pandas, numpy
print('✓ Все основные пакеты успешно импортируются')
except ImportError as e:
print(f'✗ Ошибка импорта: {e}')
exit(1)
"
"; then
log_error "Ошибка при проверке пакетов"
exit 1
fi
log_info "Установленные пакеты:"
pip list --format=columns
}
# Функция создания systemd сервиса
create_systemd_service() {
log_info "Создание systemd сервиса"
local team="$1"
local league="$2"
# Останавливаем и отключаем старый сервис если он есть
if systemctl is-active --quiet "$SERVICE_NAME"; then
log_info "Остановка $SERVICE_NAME..."
systemctl stop "$SERVICE_NAME"
fi
if systemctl is-enabled --quiet "$SERVICE_NAME"; then
log_info "Отключение $SERVICE_NAME..."
systemctl disable "$SERVICE_NAME"
fi
log_info "Создание systemd сервиса для команды: $team"
if [ -n "$league" ]; then
log_info "Лига: $league"
@@ -162,30 +229,45 @@ create_systemd_service() {
fi
# Формируем команду для data сервиса
local data_command="/root/RFB/.venv/bin/python3 /root/RFB/get_data.py --team \"$team\""
local data_command="python3 $TARGET_DIR/get_data.py --team \"$team\""
if [ -n "$league" ]; then
data_command="$data_command --league \"$league\""
fi
# Создаем сервисный файл в правильной директории
local data_service_file="/etc/systemd/system/rfb-data.service"
log_info "Создание файла сервиса: $SERVICE_NAME"
# Формируем команду для data сервиса
local data_service_file="/etc/systemd/system/$SERVICE_NAME"
log_info "Создание файла сервиса: $data_service_file"
cat > "$data_service_file" << EOF
[Unit]
Description=RFB Data Service
Documentation=https://git.tvstart.ru/ychernenko/RFB
After=network.target
Wants=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/RFB
Environment=PATH=/root/RFB/.venv/bin
WorkingDirectory=$TARGET_DIR
Environment=PATH=$TARGET_DIR/.venv/bin
EnvironmentFile=$TARGET_ENV
ExecStart=$data_command
Restart=always
RestartSec=30
# Лимиты ресурсов
MemoryMax=1G
CPUQuota=80%
# Логирование
StandardOutput=journal
StandardError=journal
SyslogIdentifier=RFB
# Поведение при перезапуске
Restart=always
RestartSec=10
StartLimitInterval=300
StartLimitBurst=5
[Install]
WantedBy=multi-user.target
@@ -195,38 +277,15 @@ EOF
chmod 644 "$data_service_file"
log_info "Перезагрузка systemd демона..."
systemctl daemon-reload
log_info "Включение сервиса rfb-data.service..."
systemctl enable rfb-data.service
}
# Функция проверки файлов
check_required_files() {
local target_dir="/root/RFB"
cd $target_dir
local missing_files=()
local required_files=("get_data.py")
for file in "${required_files[@]}"; do
if [ ! -f "$file" ]; then
missing_files+=("$file")
fi
done
if [ ${#missing_files[@]} -ne 0 ]; then
log_error "Отсутствуют необходимые файлы: ${missing_files[*]}"
log_error "Содержимое директории $target_dir:"
ls -la
if ! systemctl daemon-reload; then
log_error "Ошибка при перезагрузке systemd демона"
exit 1
fi
log_info "Все необходимые файлы присутствуют"
# Дополнительная проверка на исполняемость Python файла
if ! python3 -c "import ast; ast.parse(open('get_data.py').read())" 2>/dev/null; then
log_warn "Файл get_data.py содержит синтаксические ошибки Python"
log_info "Включение сервиса $SERVICE_NAME..."
if ! systemctl enable "$SERVICE_NAME"; then
log_error "Ошибка при включении сервиса"
exit 1
fi
}
@@ -258,6 +317,7 @@ detect_team() {
["10.10.35.28"]="mba-mai"
["10.10.35.29"]="Pari Nizhny Novgorod"
["10.10.35.30"]="unics"
["10.10.35.31"]="enisey"
)
# Определение команды по IP
@@ -325,30 +385,42 @@ manage_services() {
case $action in
"start")
log_info "Запуск сервиса rfb-data.service..."
systemctl start rfb-data.service
log_info "Запуск сервиса $SERVICE_NAME..."
if ! systemctl start "$SERVICE_NAME"; then
log_error "Ошибка при запуске сервиса"
return 1
fi
;;
"restart")
log_info "Перезапуск сервиса rfb-data.service..."
systemctl restart rfb-data.service
log_info "Перезапуск сервиса $SERVICE_NAME..."
if ! systemctl restart "$SERVICE_NAME"; then
log_error "Ошибка при перезапуске сервиса"
return 1
fi
;;
"stop")
log_info "Остановка сервиса rfb-data.service..."
systemctl stop rfb-data.service
log_info "Остановка сервиса $SERVICE_NAME..."
if ! systemctl stop "$SERVICE_NAME"; then
log_error "Ошибка при остановке сервиса"
return 1
fi
;;
esac
# Даем время сервису на запуск/остановку
sleep 3
return 0
}
# Функция проверки статуса сервиса
check_service_status() {
log_info "Статус сервиса rfb-data.service:"
if systemctl is-active rfb-data.service; then
systemctl status rfb-data.service --no-pager -l
log_info "Статус сервиса $SERVICE_NAME:"
if systemctl is-active "$SERVICE_NAME" &>/dev/null; then
systemctl status "$SERVICE_NAME" --no-pager -l
return 0
else
log_warn "Сервис rfb-data.service не запущен"
log_warn "Сервис $SERVICE_NAME не запущен"
return 1
fi
}
@@ -375,9 +447,20 @@ check_system() {
log_info "Оперативная память: $((total_mem / 1024)) MB"
}
# Функция очистки при прерывании
cleanup() {
log_info "Очистка..."
if [ -f "/etc/systemd/system/$SERVICE_NAME" ]; then
manage_services "stop"
systemctl disable "$SERVICE_NAME" 2>/dev/null || true
rm -f "/etc/systemd/system/$SERVICE_NAME"
systemctl daemon-reload
fi
}
# Основная функция
main() {
local team=""
local team="" # переменная для команды
local release="main" # значение по умолчанию
local league="" # переменная для лиги
@@ -415,19 +498,19 @@ main() {
# Проверка системы
check_system
# Проверка зависимостей
check_dependencies
# Установка пакетов
install_packages
# Загрузка кода
download_code "$release"
# Проверка файлов
check_required_files
# Настройка виртуального окружения
setup_venv
# Определение команды - ТЕПЕРЬ БЕЗ временного файла
# Определение команды
final_team=$(detect_team "$team")
log_info "Финальная команда: '$final_team'"
@@ -449,7 +532,12 @@ main() {
log_info "Настройка завершена!"
# Запуск сервиса
manage_services "start"
if manage_services "start"; then
log_info "Сервис успешно запущен"
else
log_error "Не удалось запустить сервис"
exit 1
fi
# Проверка статуса
check_service_status
@@ -461,29 +549,28 @@ main() {
log_info "=================================================="
log_info "Установка завершена успешно!"
log_info "Релиз: $release"
log_info "Рабочая директория: $TARGET_DIR"
log_info "Команда: $final_team"
if [ -n "$league" ]; then
log_info "Лига: $league"
fi
log_info "Режим: $release"
log_info ""
log_info "Для просмотра логов:"
log_info " journalctl -u rfb-data.service -f"
log_info " journalctl -u $SERVICE_NAME -f"
log_info " journalctl -t RFB -f"
log_info ""
log_info "Управление сервисом:"
log_info " Перезапуск: systemctl restart rfb-data.service"
log_info " Остановка: systemctl stop rfb-data.service"
log_info " Статус: systemctl status rfb-data.service"
log_info " Логи: journalctl -u rfb-data.service"
log_info " Перезапуск: systemctl restart $SERVICE_NAME"
log_info " Остановка: systemctl stop $SERVICE_NAME"
log_info " Статус: systemctl status $SERVICE_NAME"
log_info " Логи: journalctl -u $SERVICE_NAME"
log_info ""
log_info "Проверка работы:"
log_info " Проверить процессы: ps aux | grep get_data.py"
log_info " Проверить логи: tail -f /root/RFB/logs/*.log 2>/dev/null || echo 'Директория логов не найдена'"
log_info " Проверить логи: tail -f $TARGET_DIR/logs/*.log 2>/dev/null || echo 'Директория логов не найдена'"
log_info "=================================================="
}
# Обработка прерывания
trap 'log_error "Прервано пользователем"; exit 1' INT TERM
# Запуск основной функции
main "$@"

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +0,0 @@
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
if "%~1"=="" (
echo ERROR: Specify file path
echo Example: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
exit /b 1
)
if "%~2"=="" (
echo ERROR: Specify new URL
echo Example: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
exit /b 1
)
set "FILE=%~1"
set "NEWURL=%~2"
if not exist "!FILE!" (
echo ERROR: File not found: !FILE!
exit /b 1
)
echo Processing: !FILE!
echo New URL: !NEWURL!
echo.
copy "!FILE!" "!FILE!.backup" >nul 2>&1
if !errorlevel! equ 0 (
echo Backup created: !FILE!.backup
) else (
echo WARNING: Backup failed
)
powershell -Command "$content = [System.IO.File]::ReadAllText('%FILE%'); $pattern = '<url>http[s]?://[^/<\"]+(/[^<\"]*)?</url>'; $content = $content -replace $pattern, '<url>%NEWURL%$1</url>'; [System.IO.File]::WriteAllText('%FILE%', $content, [System.Text.Encoding]::UTF8); Write-Host 'SUCCESS: Replacement completed'"
if errorlevel 1 (
echo ERROR: PowerShell command failed
)
echo.
pause

View File

@@ -5,3 +5,7 @@ fastapi>=0.115.0
uvicorn>=0.30.0
requests>=2.31.0
python-telegram-handler
python-dotenv
--extra-index-url https://git.tvstart.ru/api/packages/lexx/pypi/simple
nasio
pillow