说出来可能有些惊人,但Mac上保存的打印记录远比你以为的更加“透明”——文档名称、打印页数、提交时间,甚至是谁在何时打印了哪些内容,都会被系统详细记录下来。特别是在共享设备或打印过敏感文件之后,这些痕迹若不主动清除,就等于给后来的使用者留下了一扇可以随意窥探的窗口。因此,今天我们就来详细讲解,如何彻底关闭这扇“窥探之门”。

从打印中心删除已完成作业记录
Mac默认会保留最近完成的打印任务元数据,这些记录虽然不占用磁盘空间,但能在打印中心界面直接查看——说白了,任何人都能翻阅这些历史。Mac默认保留这些信息,但这并非系统有意为之,而是它没有主动帮你清理而已。
操作非常简单:打开“应用程序→实用工具→打印中心”。如果这个应用尚未生成(比如你从未进行过打印操作),可以先随便打印一个文档(例如PDF),触发其创建。
接着,在顶部菜单栏选择“窗口→已完成的作业”,列表中会显示所有近期成功打印的条目。全选(Command+A),然后按Delete键;或者右键点击某个记录,选择“删除作业”。【注意:此操作仅删除界面上的历史条目,不会影响底层日志文件】
清空CUPS访问与错误日志文件
真正的“历史痕迹”隐藏在系统底层:CUPS服务在/var/log/cups/目录下,默默记录着access_log(谁打印了什么)、error_log(失败原因)、page_log(每页输出详情)。这些才是打印历史记录的真正源头,并且默认不会自动清理,会持续累积。
要清理这些日志,有两种方法:
方法一:终端命令,批量删除14天前的归档日志
打开“终端”,依次执行:
sudo find /var/log/cups -name "*.gz" -mtime +14 -delete
sudo find /var/log/cups ( -name "access_log.*" -o -name "error_log.*" -o -name "page_log.*" ) -type f -mtime +14 -delete
输入管理员密码(输入时不会显示字符,属于正常现象,直接回车即可)。
方法二:立即清空全部历史日志(包括当前主文件,谨慎使用)
执行:【sudo truncate -s 0 /var/log/cups/access_log /var/log/cups/error_log /var/log/cups/page_log】
这条命令会将三个主日志文件的内容清零,但保留文件结构和权限,不影响CUPS正常运行。操作简单直接,效果立竿见影。
重置CUPS轮转策略防止未来堆积
macOS依靠newsyslog机制定期切割日志,但系统更新或第三方驱动程序有时会扰乱这一配置,导致日志无限增长——最终你会发现/var/log/cups/目录膨胀到惊人地步。因此,有必要为其设置一个“紧箍咒”。
第一步:确保轮转配置文件存在
在终端中输入:
sudo touch /etc/newsyslog.d/cups.conf
第二步:写入标准轮转规则(每日凌晨0点归档,保留7天)
执行:
echo "/var/log/cups/access_log 644 7 * @T00" | sudo tee -a /etc/newsyslog.d/cups.conf
echo "/var/log/cups/error_log 644 7 * @T00" | sudo tee -a /etc/newsyslog.d/cups.conf
echo "/var/log/cups/page_log 644 7 * @T00" | sudo tee -a /etc/newsyslog.d/cups.conf
第三步:手动触发一次轮转以验证配置生效
sudo newsyslog -v /etc/newsyslog.d/cups.conf
执行后,/var/log/cups/目录下应该立即生成access_log.0.gz等新归档文件,原主日志被清空重写。这相当于为管理员权限开启一个“后门”,让CUPS的日志文件学会定期自动清理。
需要提醒的是,这些操作涉及系统底层,建议在明确理解每一步作用的前提下进行。毕竟,清理日志这种事,做对了是日常维护,做错了可能就会引发问题。
