Версия: 1.0.0
Дата: 2026-03-19
Стандарт для скриптов, которые запускаются на компьютере оператора, а результат отправляют на сервер.
Причина: Длинные inline-команды в чате ломаются при копировании. Скрипт — одна строка запуска.
bash <(curl -s http://91.218.142.168/files/ИМЯ_СКРИПТА.sh)
#!/bin/bash
# REMOTE SCRIPT STANDARD v1.0
# Запуск: bash <(curl -s http://91.218.142.168/files/ИМЯ.sh)
# Результат: http://91.218.142.168/files/ИМЯ.log
SERVER="http://share.0kt.ru"
LOGNAME="ИМЯ.log"
OUT=""
log() { OUT+="$1\n"; echo "$1"; }
# --- Основная логика ---
log "=== Заголовок — $(date) ==="
log "Host: $(hostname)"
# ... действия и сбор данных через log() ...
# --- Отправить результат на сервер ---
printf "%b" "$OUT" | curl -s -X POST "${SERVER}/push/${LOGNAME}" \
-H "Content-Type: text/plain" \
--data-binary @- > /dev/null
echo "Лог: http://91.218.142.168/files/${LOGNAME}"
| Правило | Описание |
|---|---|
| Одна строка запуска | Всегда bash <(curl -s http://91.218.142.168/files/ИМЯ.sh) |
| Имя скрипта | задача_действие.sh — например chrome_fix.sh, proxy_setup.sh |
| Имя лога | То же, но .log — chrome_fix.log |
| Вывод через log() | Всегда дублировать вывод: в консоль + в переменную OUT |
| Отправка в конце | POST на /push/ИМЯ.log — перезаписывает предыдущий результат |
| Идемпотентность | Скрипт можно запустить несколько раз без побочных эффектов |
# Следить за логом в реальном времени (обновление каждые 30 сек)
bash /opt/scripts/watch_remote.sh chrome_fix.log
# Посмотреть последний результат разово
cat /var/www/html/files/chrome_fix.log
POST http://share.0kt.ru/push/{filename}
Content-Type: text/plain
{текст лога}
Сохраняет файл в /var/www/html/files/{filename} (перезапись).
Реализован в system/services/file-share/app.py.
| Скрипт | Назначение |
|---|---|
chrome_fix.sh |
Диагностика и починка Chrome |
proxy_setup.sh |
Настройка прокси |
net_diag.sh |
Диагностика сети |
/var/www/html/files/ ← скрипты и логи (публичный доступ)
/opt/scripts/ ← серверные утилиты (watch_remote.sh)