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 :
/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
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
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*
)