普遍问题:以普通用户身份访问 cups spool 数据
在商店的销售台,我们有一个软件可以将账单生成为 PDF 文件,收银员会将其打印给客户。我无法访问生成这些 PDF 文件的数据库。但是,我编写了一个解析脚本(使用 pdftotext 和 awk)将它们转换为 .csv,然后我可以使用它来按每种产品交付类型和仓库进行整理,以创建领料清单。
我想在每张账单打印后立即运行一个脚本,将副本发送到相应的仓库。
初步计划:
经过一番谷歌搜索后,我想到使用incrond/incrontab(inotify)监控打印机活动并触发我自己的脚本来处理每张账单。在以下问题中,我找到了有关 cups spool 的信息: Cups 将打印作业信息保存在哪里?,并且在CUPS - 将所有打印作业的副本输出为 PDF,我发现 /var/spool/cups 中的数据“按原样”存储,随时可以复制和处理;但我不知道如何监视此文件夹或复制数据——我只能以超级用户身份看到它。我正在运行 Debian 11。我对权限问题感到困惑,不知道该怎么做。
我是否应以 root 身份使用 incrond 来监控 /var/spool/cups?如果是,我如何将新的打印作业复制到我的普通用户可以读取的地方?
(欢迎框架挑战,尽管我已经有点了解这个内部业务)。