Linux命令-reject(拒绝打印任务)

📅 2026/7/5 23:16:13
Linux命令-reject(拒绝打印任务)
Linux命令-reject拒绝打印任务命令语法常用选项场景化实例1. 拒绝指定打印机2. 带原因说明拒绝3. 批量拒绝多个打印机4. 打印机故障自动处理5. 恢复打印机接受任务6. 通过 CUPS Web 接口管理7. 配合系统监控脚本查询打印队列状态最佳实践快速参考reject命令用于禁止向指定的打印队列提交新任务通常在打印机维护、故障排除或资源限制时使用。配合accept命令可恢复打印队列接收任务。提示reject只阻止新任务进入队列不影响已在队列中等待或正在打印的任务。要清空现有队列使用lprm或cancel。命令语法reject[选项]打印队列名...常用选项选项说明-r 原因指定拒绝原因用户执行 lp 时会看到-h 主机名指定远程打印服务器主机名场景化实例1. 拒绝指定打印机# 拒绝 laserjet 打印机新任务sudoreject laserjet# 验证状态lpstat-a# 输出示例# laserjet not accepting requests since 一 6月 14 10:30:00 2026 -2. 带原因说明拒绝# 拒绝并告知用户原因sudoreject-r硒鼓更换中预计30分钟后恢复HP_LaserJet# 用户尝试打印时看到# lp -d HP_LaserJet document.pdf# lp: HP_LaserJet: 硒鼓更换中预计30分钟后恢复3. 批量拒绝多个打印机#!/bin/bash# 维护时批量拒绝所有打印机PRINTERS(Office_Floor1Office_Floor2Meeting_RoomLobby)forprinterin${PRINTERS[]};dosudoreject-r定期维护中14:00恢复$printerecho已拒绝:$printerdonelpstat-a4. 打印机故障自动处理#!/bin/bash# 监控打印机状态故障时自动拒绝check_printer(){localprinter$1# 检查打印机是否在线if!lpstat-p$printer|grep-qenabled;thenecho[ERROR]$printer故障自动拒绝新任务sudoreject-r设备故障请联系 IT 部门$printerreturn1fi# 检查纸盘状态lpstat-p$printer|grep-qpaper||{sudoreject-r缺纸请补充纸张$printerreturn1}return0}check_printerMain_LaserJet5. 恢复打印机接受任务# 恢复接受任务sudoaccept laserjet# 确认恢复lpstat-a# 定时恢复脚本#!/bin/bash# 拒绝2小时自动恢复sudoreject-r午休时间暂停服务Office_PrinterechoOffice_Printer 已暂停2小时后自动恢复# 后台定时恢复(sleep7200sudoacceptOffice_Printer\echoOffice_Printer 已恢复服务)6. 通过 CUPS Web 接口管理# CUPS 管理中同样操作# 停止接收: cupsreject printer_namesudocupsrejectOffice_Printer# 恢复接收: cupsaccept printer_namesudocupsacceptOffice_Printer# 查看所有打印机状态lpstat-p-d# CUPS 命令行完整管理sudocupsctl --remote-any# 允许远程管理sudosystemctl restart cups# 重启 CUBS 服务7. 配合系统监控脚本#!/bin/bash# 打印队列监控与自动管理QUEUEMain_PrinterMAX_JOBS50REJECT_REASON打印队列过长请稍后再试whiletrue;dojob_count$(lpstat-o$QUEUE2/dev/null|wc-l)if[$job_count-ge$MAX_JOBS];thenecho[$(date)] 队列过长($job_count)拒绝新任务sudoreject-r$REJECT_REASON$QUEUEelif[$job_count-lt$((MAX_JOBS/2))];thenlpstat-a$QUEUE|grep-qnot accepting{echo[$(date)] 队列恢复($job_count)重新接收任务sudoaccept$QUEUE}fiecho当前队列长度:$job_countsleep60done查询打印队列状态# 查看所有打印机状态lpstat-a# 查看特定打印机lpstat-alaserjet# 查看详细状态lpstat-t# 查看队列中的任务lpstat-o# 查看打印机配置lpoptions-plaserjet-l最佳实践维护前用reject -r 详细原因告知用户维护完成后用accept恢复。在自动化脚本中结合lpstat检测队列状态动态管理。# 维护流程模板#!/bin/bashPRINTER$1sudoreject-r计划维护 -$(date%H:%M)开始$PRINTERecho$PRINTER已暂停接收开始维护...# 维护操作...sudoaccept$PRINTERecho$PRINTER已恢复服务