From 338dfc74100856ec80a15f5ba5ad637ad05f0ac8 Mon Sep 17 00:00:00 2001 From: Alexander Dahl <alex@netz39.de> Date: Thu, 27 Feb 2025 13:57:29 +0100 Subject: [PATCH] :loud_sound: Redirect curl output to debug log curl only logs its own errors to stderr with the given options (--silent --show-error). Requests answered by the remote webserver, regardless of HTTP status code, go to stdout. So in case of an unsuccesful update with some error condition we could not see that before. Redirect those to debug log, because it's still quite noisy otherwise. This adds 288 log messages per day and service to the debug log, accounting to max. 30k per day and service, and thus should not hurt. desec log output is only the word "good" in case of success. dd24 full output would be this, and is thus reduced to the relevant lines merged in one line: [RESPONSE] code = 200 description = Command completed successfully runtime = 0.067 queuetime = 0 EOF Sample journald entry: Feb 27 12:48:15 pottwal dd24[519651]: code = 200,description = Command completed successfully --- roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2 | 2 +- roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2 b/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2 index fb60772..8e509b7 100644 --- a/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2 +++ b/roles/dd24_dyndns_cron/templates/dd24-dyndns.cron.j2 @@ -3,4 +3,4 @@ SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -*/5 * * * * root curl --silent --show-error "https://dynamicdns.key-systems.net/update.php?hostname={{dyndns_domain}}&password={{dyndns_password}}&ip={{dyndns_ip}}" > /dev/null 2> >(/usr/bin/logger -p user.error -t dd24) +*/5 * * * * root curl --silent --show-error "https://dynamicdns.key-systems.net/update.php?hostname={{dyndns_domain}}&password={{dyndns_password}}&ip={{dyndns_ip}}" > >(grep 'code\|description' | paste -d',' - - | logger -p user.debug -t dd24) 2> >(/usr/bin/logger -p user.error -t dd24) diff --git a/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 index 2d2ca02..8250477 100644 --- a/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 +++ b/roles/desec_dyndns_cron/templates/desec-dyndns.cron.j2 @@ -3,4 +3,4 @@ SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -*/5 * * * * root curl --silent --show-error --user {{ dyndns_domain }}:{{ dyndns_token }} "https://update.dedyn.io/" > /dev/null 2> >(/usr/bin/logger -p user.error -t desec) +*/5 * * * * root curl --silent --show-error --user {{ dyndns_domain }}:{{ dyndns_token }} "https://update.dedyn.io/" > >(logger -p user.debug -t desec) 2> >(/usr/bin/logger -p user.error -t desec)