将作业打印到 CUPS 服务器时,您可以设置cupsd.conf参数PreserveJobHistory
并PreserveJobFiles
控制要保留的作业数量。
CUPS 总是将实际的打印作业文件临时存储在目录中/var/spool/cups/
。打印客户端提交的假脱机文件(在 CUPS 的过滤器转换链启动之前)始终命名为dNNNNNN-001(以 'd' 开头,如在 'datafile' 中),其中NNNNNN是 CUPS 分配的作业 ID。如果您提交多文档打印作业,则同一作业 ID 内的第二个文档的假脱机文件名为dNNNNNN-002,依此类推...
此外,同一目录将保存以另一个字符开头的文件,即控制文件,并且每个作业的它们将被命名为cNNNNNN。
我想剖析这些控制文件文件。
当我使用该strings
工具时,它只揭示了我想要获得的部分内容:
例子:
sudo strings /var/spool/cups/d00089
attributes-charset
utf-8H
attributes-natural-language
en-us
printer-uri
%ipp://localhost:631/printers/hp2B
job-originating-user-name
kurtpfeifleB
job-name
hosts!
copies
finishings
job-cancel-after
job-hold-until
no-hold!
job-priority
job-sheets
noneB
none!
number-up
job-uuid
-urn:uuid:ca854775-f721-34a5-57e0-b38b8fb0f4c8B
job-originating-host-name
localhost!
time-at-creation
time-at-processing
time-at-completed
job-id
job-state
job-state-reasons
processing-to-stop-point!
job-media-sheets-completed
job-printer-uri
(ipp://host13.local:631/printers/hp!
job-k-octets
document-format
text/plainA
job-printer-state-message
job-printer-state-reasons
none
此外,该strings
输出看起来不太好。
问题:是否有一种程序化(或其他)方式来剖析这些 CUPS 作业控制文件并获得包含所有信息的完整内容?