Initial commit: local_machine docs and scripts

This commit is contained in:
ahauimix
2026-03-14 20:03:57 +03:00
commit a39ef89125
85 changed files with 14500 additions and 0 deletions

70
docs/printer/clear-hp-jobs.sh Executable file
View File

@@ -0,0 +1,70 @@
#!/bin/bash
# Скрипт для сброса подвисших задач печати HP принтера на macOS
set -e
echo "🔍 Поиск HP принтеров..."
# Найти все HP принтеры
HP_PRINTERS=$(lpstat -p 2>/dev/null | grep -i "hp" | awk '{print $2}' || true)
if [ -z "$HP_PRINTERS" ]; then
echo "❌ HP принтеры не найдены в системе"
echo ""
echo "Доступные принтеры:"
lpstat -p 2>/dev/null | awk '{print " - " $2}' || echo " (нет принтеров)"
exit 1
fi
echo "✅ Найдены HP принтеры:"
echo "$HP_PRINTERS" | while read printer; do
echo " - $printer"
done
echo ""
echo "📋 Проверка задач печати..."
# Для каждого HP принтера
echo "$HP_PRINTERS" | while read printer; do
echo ""
echo "🖨️ Обработка принтера: $printer"
# Проверить задачи
JOBS=$(lpstat -o "$printer" 2>/dev/null | awk '{print $1}' | cut -d- -f1 | sort -u || true)
if [ -z "$JOBS" ]; then
echo " ✅ Нет задач в очереди"
else
JOB_COUNT=$(echo "$JOBS" | wc -l | tr -d ' ')
echo " ⚠️ Найдено задач: $JOB_COUNT"
# Отменить все задачи для этого принтера
echo " 🗑️ Отмена всех задач..."
cancel -a "$printer" 2>/dev/null || true
# Отменить задачи по ID
echo "$JOBS" | while read job_id; do
if [ ! -z "$job_id" ]; then
cancel "$job_id" 2>/dev/null || true
fi
done
echo " ✅ Задачи отменены"
fi
# Сбросить состояние принтера
echo " 🔄 Сброс состояния принтера..."
cupsenable "$printer" 2>/dev/null || true
cupsaccept "$printer" 2>/dev/null || true
lpadmin -p "$printer" -o printer-is-accepting-jobs=true 2>/dev/null || true
echo " ✅ Принтер готов к работе"
done
echo ""
echo "✅ Готово! Все подвисшие задачи HP принтеров сброшены"
echo ""
echo "📊 Текущий статус:"
lpstat -p 2>/dev/null | grep -i "hp" || echo " (нет HP принтеров)"