Cron: afficher les sorties standard et d'erreur?

Dans une commande lancée par cron, par exemple « apt update && apt upgrade» , où trouver/diriger l’affichage?

En général, on lance des scripts via cron, et c’est dans ces scripts que tu définis tout ça.

Bonjour,
Et normalement si tu as activé les mises à jour automatiques, ca se fait tout seul, pas besoin de mettre un cron.

tu cherches à loger les actions si oui il faut rediriger vers un fichier de log que tu renseignera … mais vis à vis des mises à jour il est plus simples et plus faciles d’automatiser les mises à jour (et de suivre via les journaux système).

exemple bidon qui écrase à chaque execution les fichiers de logs :

#!/bin/bash
LOG_FILE=Sortie.log
ERR_FILE=Erreurs.log
 
exec 1>$LOG_FILE
exec 2>$ERR_FILE

autre exemple vue que tu aime les sauvegardes :wink::

/home/root/scripts/sauvegarde.sh >> /home/root/log/sauvegarde.log 2>&1

Attention avec les fichiers de logs, il faut s’assurer de leur rotation et de leur rétention sous peine de remplir le répertoire où ils se trouvent avec les conséquences qui peuvent aller jusqu’à un blocage du système.

merci

je ne suis pas sur de comprendre. Pour moi cron et/ou crontab, c’ est justement ce que j’imaginais fait pour activer automatiquement des commandes (comme mon exemple avec sudo apt update && sudo apt upgrade).

merci pled,

c’est le sens de ma question: comment indiquer dans un script bash l’affichage (à l’écran, dans un terminal de la sortie standard et/ou la sortie d’erreur standard) ?

Sinon, l’exemple de clochette d’un fichier de log éphémère est aussi une solution intéressante que j’utilise parfois.

Merci à tous les trois

Par ce que l’installation d’apt implique ces tâches cron générées automatiquement:

/etc/cron.daily/apt-show-versions:10:[ -f /usr/bin/apt-show-versions ] || exit 0
/etc/cron.daily/apt-show-versions:12:apt-show-versions -i
/etc/cron.daily/apt-compat:6:# run. We want to randomize the apt update and unattended-upgrade
/etc/cron.daily/apt-compat:16:    # laptop check, on_ac_power returns:
/etc/cron.daily/apt-compat:32:# (some code taken from cron-apt, thanks)
/etc/cron.daily/apt-compat:36:    eval $(apt-config shell RandomSleep APT::Periodic::RandomSleep)
/etc/cron.daily/apt-compat:55:exec /usr/lib/apt/apt.systemd.daily

et que si tu as paramétré apt pour faire les mises à jour automatiquement il a rajouté les tâches CRON nécessaires.
Si tu regardes le script de la dernière ligne, tu verras qu’il est plutôt pas mal fait et couvre le besoin. faire de ton coté un truc qui viendra interférer avec n’est pas forcement une bonne idée :slight_smile:

Encore merci Zargos

Je n’ai jamais paramétré apt , et je ne saurais pas trop comment faire, et surtout quoi faire ou ne pas faire.

(J’ai bien un fichier /etc/cron.daily/apt-compat mais c’est un script, et je n’ai pas la sortie que vous affichez)

Un peu de lecture de la documentation officielle devrais apporter les lumières sur ce sujet :wink:

https://wiki.debian.org/fr/unattended-upgrades

Pour le reste du sujet concernant les retours des erreurs ou information de la commande mon premier message est largement suffisant en jouant bien entendu avec les simple et double chevron pour ajouter ou écraser lors de l’écriture (du classique en bref).

Oui,
encore merci clochette, également pour cette orientation dans la documentation

Ma sortie etait un grep dans cron de apt
(i.e.: grep -Rin apt /etc/cron*)