Pour certaines machines cloud que je lance, j'essaie de me connecter à un fichier spécifique, syslog et le terminal / console.
En haut de mes scripts de configuration de machine / cloud-init, j'ai les éléments suivants:
#!/bin/bash
exec &> >(tee "/tmp/box-setup.log" | logger -t box-setup)
apt-get install -y some-package
Cela fonctionne très bien pour envoyer la sortie vers un fichier et un syslog, mais cela ne dirige pas vers la sortie vers le terminal.
D'une manière générale, ne pas avoir de sortie de terminal n'est pas un problème énorme, sauf lorsque je débogue à partir d'une console distante. Lorsque cela se produit, je suis complètement aveugle car la console est vide pendant l'exécution du script bash.
Existe-t-il un moyen simple d'utiliser la bashredirection ou autre pour diriger simultanément toutes les sorties (sortie standard avec erreur standard) vers un fichier, un journal système et le terminal?
J'utilise Ubuntu 16.04.
exec &> >(tee /tmp/box-setup.log >(logger -t box-setup))