Initial commit: local_machine docs and scripts
This commit is contained in:
70
docs/printer/clear-hp-jobs.sh
Executable file
70
docs/printer/clear-hp-jobs.sh
Executable 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 принтеров)"
|
||||
|
||||
Reference in New Issue
Block a user