Mac清除打印机历史记录的方法
Mac上打印记录包含文档名、页数、时间等隐私信息。清理方法:从打印中心删除已完成作业;通过终端命令清理CUPS底层日志(access_log、error_log、page_log)或清空全部日志;配置newsyslog轮转策略,实现每日归档并保留7天,防止日志堆积。
说出来可能有些令人意外,但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的日志文件实现定期自动清理。
需要提醒的是,以上操作涉及系统底层,建议在明确理解每一步作用的前提下进行。毕竟,清理日志这种事,做对了是日常维护,做错了可能带来不必要的麻烦。
