support:terminals:selfservice_ticket_office
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
support:terminals:selfservice_ticket_office [2025/07/18 11:38] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | support:terminals:selfservice_ticket_office [2025/07/18 17:49] (текущий) – aservice | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Касса самообслуживания ====== | ||
+ | Self-Service Ticket Office | ||
+ | Тестирование железа с записью лога оперативная память/ | ||
+ | {{ : | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | curl -O https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | ++++kso_autotest.sh| | ||
+ | <code bash kso_autotest.sh> | ||
+ | #!/bin/bash | ||
+ | # == KSO Auto Test Script с Меню == | ||
+ | # Автор: takraztak | Дата: 2025-07-18 | ||
+ | |||
+ | LOG_DIR="/ | ||
+ | LAST_LOG="" | ||
+ | LAST_ERR="" | ||
+ | |||
+ | find_last_logs() { | ||
+ | LAST_LOG=$(ls -t " | ||
+ | LAST_ERR=$(ls -t " | ||
+ | } | ||
+ | |||
+ | run_tests() { | ||
+ | TIMESTAMP=$(date ' | ||
+ | LOGFILE=" | ||
+ | ERRFILE=" | ||
+ | |||
+ | log() { | ||
+ | echo -e " | ||
+ | } | ||
+ | |||
+ | log "=== ТЕСТ СИСТЕМЫ КСО ===" | ||
+ | log "⏱ Время запуска: | ||
+ | |||
+ | log "\n[1] Включение стандартных репозиториев..." | ||
+ | RETRIES=5 | ||
+ | while [ ! -f / | ||
+ | log " ⏳ Ожидание файла / | ||
+ | sleep 1 | ||
+ | RETRIES=$((RETRIES - 1)) | ||
+ | done | ||
+ | |||
+ | if [ -f / | ||
+ | cp / | ||
+ | log " → Репозитории восстановлены." | ||
+ | else | ||
+ | log " ! Файл / | ||
+ | echo " | ||
+ | return 1 | ||
+ | fi | ||
+ | |||
+ | log "\n[2] Обновление списка пакетов..." | ||
+ | apt update >> " | ||
+ | |||
+ | log "\n[3] Установка необходимых пакетов..." | ||
+ | apt install -y stress memtester mc wget tar >> " | ||
+ | |||
+ | log "\n[4] Загрузка и установка HDSentinel..." | ||
+ | cd /tmp || return 1 | ||
+ | wget -q https:// | ||
+ | if [ -f hdsentinel_gui64bit.tar.xz ]; then | ||
+ | tar -xf hdsentinel_gui64bit.tar.xz | ||
+ | cd HDSentinel_GUI || return 1 | ||
+ | ./ | ||
+ | log " → HDSentinel установлен." | ||
+ | else | ||
+ | log " ! Не удалось загрузить HDSentinel." | ||
+ | echo " | ||
+ | return 1 | ||
+ | fi | ||
+ | |||
+ | log "\n[5] Отключение репозиториев..." | ||
+ | rm -f / | ||
+ | log " → sources.list удалён." | ||
+ | |||
+ | log "\n=== ЗАПУСК ТЕСТОВ ===" | ||
+ | |||
+ | log " | ||
+ | / | ||
+ | |||
+ | MEM_TOTAL_KB=$(grep MemTotal / | ||
+ | MEM_FREE_KB=$(grep MemAvailable / | ||
+ | MEM_TEST_MB=$((MEM_FREE_KB / 1024 - 200)) | ||
+ | |||
+ | if (( MEM_TEST_MB < 512 )); then | ||
+ | log " | ||
+ | else | ||
+ | log " | ||
+ | memtester " | ||
+ | fi | ||
+ | |||
+ | log " | ||
+ | stress -c 4 -m 5 -i 10 -t 600 >> " | ||
+ | log " → stress завершён." | ||
+ | |||
+ | log "\n=== ТЕСТ ЗАВЕРШЁН ===" | ||
+ | log "📁 Лог: $LOGFILE" | ||
+ | log " | ||
+ | log "⏱ Завершено: | ||
+ | } | ||
+ | |||
+ | menu() { | ||
+ | while true; do | ||
+ | find_last_logs | ||
+ | echo -e " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | read -rp " | ||
+ | |||
+ | case " | ||
+ | 1) | ||
+ | run_tests | ||
+ | ;; | ||
+ | 2) | ||
+ | if [ -n " | ||
+ | less " | ||
+ | else | ||
+ | echo "❌ Лог не найден" | ||
+ | fi | ||
+ | ;; | ||
+ | 3) | ||
+ | if [ -n " | ||
+ | less " | ||
+ | else | ||
+ | echo "❌ Лог ошибок не найден" | ||
+ | fi | ||
+ | ;; | ||
+ | 0) | ||
+ | break | ||
+ | ;; | ||
+ | *) | ||
+ | echo " | ||
+ | ;; | ||
+ | esac | ||
+ | done | ||
+ | } | ||
+ | |||
+ | menu | ||
+ | |||
+ | </ | ||
+ | Сделать исполняемым\\ | ||
+ | '' | ||
+ | Запустить\\ | ||
+ | '' |