我想创建一个文档管理系统,以便从 cups 的打印作业历史记录中获取每个打印文档的文件位置。但我找不到检索此信息的方法。
我已经尝试过了
lpstat -W completed
但它只给了我作业 ID、用户、时间戳等,但没有关于文件来源的信息。在我的情况下是目录和文件名。
有人有提示吗?
答案1
查看cups-files.conf
RequestRoot 目录
指定包含打印作业和其他 HTTP 请求数据的目录。默认值为“/var/spool/cups”。
文件保存的格式为:
/var/spool/cups/d*-nnn
/var/spool/cups/c*
在哪里
*
是打印机 ID。c
是控制文件d
是实际数据nnn
是文档编号。以 001 开头。
哦,看看你是否安装了“testipp”。这是一个 cups 实用程序,它会吐出你需要知道的有关文档的所有信息
这将给出已完成作业的列表(摘自U+L):
sudo lpstat -W completed -u $(strings /var/spool/cups/* | \
grep -A 1 job-originating-user-name | \
grep -oP '.*(?=B)' |sort -u | paste -sd ',')