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

Wil*_*lch 2 apt cron logging redirect

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

我问这个问题的原因是因为我想自动化更新过程。具体来说,我想添加apt-get update && apt-get upgrade -y到根 crontab 中。我想记录输出,以便稍后查看。

另外,这会导致任何问题吗?让系统升级软件包而不让用户查看更改是否是一个坏主意?

Byt*_*der 5

这些日志已经自动生成。

您可以查看/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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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


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

( date && apt-get -q update && apt-get -qy upgrade ) &>> /var/log/apt/mylog
Run Code Online (Sandbox Code Playgroud)

这重定向输出(标准输出和STDERR) dateapt-get -q updateapt-get -qy upgrade和其追加到文件/var/log/apt/mylog。您当然也可以选择不同的文件名和位置。