NeODarK's picture

Hi, I have some machines with Turnkey Linux and I receive all days cron apt emails about updates...

How I can disable this emails but still receiving any error update email?

Thanks!!

Forum: 
Jeremy Davis's picture

Apologies on my slow response... I'm not sure how or why, but it appears that I missed your post. Apologies about that.

To be honest, I'm not 100% sure about achieving your ends. As you note, we use cron-apt. The actual cron job that get's triggered is /etc/cron.daily/apt-compat, which then in turn triggers /usr/lib/apt/apt.systemd.daily to actually check for updates and install them.

So my guess is that to only get emails for errors, you want to change the last line in /etc/cron.daily/apt-compat so that stdout (normal output) is suppressed. That should mean that no email is sent, unless there is output to stderr (error output). I'm not 100% sure it'll work so you'll need to test.

For testing, moving the jo0b (temporarily) to hourly might tighten up the feedback look a bit (creating a cron job to run every minute is probably even better, but not quite as simple to configure, so I'll leave that for you).

mv /etc/cron.daily/apt-compat /etc/cron.hourly/apt-compat

Then edit the last line from this (what it should look like by default):

exec /usr/lib/apt/apt.systemd.daily

To this:

exec /usr/lib/apt/apt.systemd.daily 1>/dev/null

Hopefully that does the trick. If not, please post back and I'll have a bit more of a dig myself.

rhopejr_1910168's picture

I have tried this editing the last line, but I still receive the same emails daily. Do you have another suggestion?

Jeremy Davis's picture

The line I've shared above should trap stdout (standard output) and only forward stderr (standard error). That's not 100% infallible, but generally should ensure that there is only error message output.

So if you are getting emails (and my initial understanding is correct), they should be documenting some sort of error or warning message. Is that the case?

Perhaps manually run 'apt update" to ensure that there aren't any warning or errors. Also, could you please share the text of one of the messages?

jackyjoy's picture

It should only forward error messages?!

Jeremy Davis - Tue, 2023/01/17 - 04:58

The line I've shared above should trap stdout (standard output) and only forward stderr (standard error). That's not 100% infallible, but generally should ensure that there is only error message output.

So if you are getting emails (and my initial understanding is correct), they should be documenting some sort of error or warning message. Is that the case?

Perhaps manually run 'apt update" to ensure that there aren't any warning or errors. Also, could you please share the text of one of the messages?

 

thanks my issue has been fixed.

jackyjoy's picture

The line I've shared above should trap stdout (standard output) and only forward stderr (standard error). That's not 100% infallible, but generally should ensure that there is only error message output.

So if you are getting emails (and my initial understanding is correct), they should be documenting some sort of error or warning message. Is that the case?

Perhaps manually run 'apt update" to ensure that there aren't any warning or errors. Also, could you please share the text of one of the messages.


 

thanks for the awesome information.

 

thanks my issue has been fixed.

Rohan's picture

Here is email I get as example. There is no error stated


CRON-APT RUN [/etc/cron-apt/config]: Wed Mar 29 08:06:01 EDT 2023
CRON-APT SLEEP: 1267, Wed Mar 29 08:27:08 EDT 2023
CRON-APT ACTION: 5-install
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 autoclean -y
Reading package lists...
Building dependency tree...
Reading state information...
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 dist-upgrade -y     -o APT::Get::Show-Upgraded=true     -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/security.sources.list     -o Dir::Etc::sourceparts=nonexistent     -o DPkg::Options::=--force-confdef     -o DPkg::Options::=--force-confold
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following package was automatically installed and is no longer required:
  linux-image-5.10.0-14-amd64
Use 'apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Jeremy Davis's picture

Did you change the file as suggested in my previous post?

I.e. change the last line of /etc/cron.daily/apt-compat to:

exec /usr/lib/apt/apt.systemd.daily 1>/dev/null

If not, please apply that change and then see how it goes. If it works, it'd be great if you could confirm. If you are still getting messages after making the change, then please post back.

Rohan Hope's picture

Yes, I changed the file as suggested and I am still receiving the same email daily.   This was most recent email from this morning
CRON-APT RUN [/etc/cron-apt/config]: Sat Apr 29 08:06:01 EDT 2023 CRON-APT SLEEP: 1499, Sat Apr 29 08:31:00 EDT 2023 CRON-APT ACTION: 5-install CRON-APT LINE: /usr/bin/apt-get -o quiet=1 autoclean -y Reading package lists... Building dependency tree... Reading state information... CRON-APT LINE: /usr/bin/apt-get -o quiet=1 dist-upgrade -y     -o APT::Get::Show-Upgraded=true     -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/security.sources.list     -o Dir::Etc::sourceparts=nonexistent     -o DPkg::Options::=--force-confdef     -o DPkg::Options::=--force-confold Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following package was automatically installed and is no longer required:   linux-image-5.10.0-14-amd64 Use 'apt autoremove' to remove it. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Add new comment