如何将 apt-get upgrade 的输出记录到 .txt 文件

如何将 apt-get upgrade 的输出记录到 .txt 文件

如何将输出记录apt-get upgrade.txt文件中?我阅读了手册页,-q选项中提到了格式化输出以进行记录。

我之所以问这个问题是因为我想自动执行更新过程。具体来说,我想将其添加apt-get update && apt-get upgrade -y到 root crontab 中。我想记录输出,以便以后查看。

另外,这会引起什么问题吗?让系统在用户不查看更改的情况下升级软件包是不是一个坏主意?

答案1

这些日志已经自动生成。

您可以在 中查看文件/var/log/apt

有一个history.log记录所有执行的apt命令,如下所示:

Start-Date: 2016-07-06  14:29:04
Commandline: apt upgrade
Requested-By: bytecommander (1000)
Upgrade: tzdata:amd64 (2016d-0ubuntu0.16.04, 2016f-0ubuntu0.16.04)
End-Date: 2016-07-06  14:29:06

term.log另一方面,该文件记录这些命令的精确终端输出,如下所示:

Log started: 2016-07-06  14:29:04
(Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 302987 files and directories currently installed.)
Preparing to unpack .../tzdata_2016f-0ubuntu0.16.04_all.deb ...
Unpacking tzdata (2016f-0ubuntu0.16.04) over (2016d-0ubuntu0.16.04) ...
Setting up tzdata (2016f-0ubuntu0.16.04) ...

Current default time zone: 'Europe/Berlin'
Local time is now:      Mi 6. Jul 14:29:06 CEST 2016.
Universal Time is now:  Wed Jul  6 12:29:06 UTC 2016.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Log ended: 2016-07-06  14:29:06

请注意,日志会自动轮换。较旧的日志将被压缩并存储为例如history.log.1.gz


但是,如果您想手动记录它们(包括命令apt update),则可以使用 Bash 的输出重定向语法:

( date && apt-get -q update && apt-get -qy upgrade ) &>> /var/log/apt/mylog

这将重定向 和 的输出(STDOUT 和 STDERR)date并将其apt-get -q update附加apt-get -qy upgrade到文件/var/log/apt/mylog。当然,您也可以选择其他文件名和位置。

相关内容