前几天我设置了两个 aureport cron 作业:
1 0 * * * /sbin/aureport -ts yesterday 00:00:00 | mailx -r "[email protected]" -s "[Audit report] Summary" "[email protected]"
1 0 * * * /sbin/aureport --tty -ts yesterday 00:00:00 | mailx -r "[email protected]" -s "[Audit report] TTY details" "[email protected]"
但是,当我通过 cron 运行命令时收到的电子邮件不包含任何有用的信息。第一行 cron 的示例输出:
Summary Report
======================
Range of time in logs: 12/31/1969 13:00:00.000 - 12/31/1969 13:00:00.000
Selected time for report: 05/11/2016 00:00:00 - 12/31/1969 13:00:00.000
Number of changes in configuration: 0
Number of changes to accounts, groups, or roles: 0
...
Number of process IDs: 0
Number of events: 0
我知道 1969 年 12 月 31 日相当于“我不知道现在几点”。
另一方面,从终端运行每个命令都会发送一封包含有效日期/时间范围以及非空信息的电子邮件。
答案1
添加--input-logs
到命令中。它强制命令使用日志而不是 STDIN。
1 0 * * * /sbin/aureport --input-logs -ts yesterday 00:00:00 | mailx -r "[email protected]" -s "[Audit report] Summary" "[email protected]"
1 0 * * * /sbin/aureport --input-logs --tty -ts yesterday 00:00:00 | mailx -r "[email protected]" -s "[Audit report] TTY details" "[email protected]"