Problème :
Je veux envoyer la sortie de docker logs -f
(pour tous les conteneurs) dans une autre commande et la laisser tourner sur le serveur distant. J'ai déjà trouvé Exécutez une commande nohup en SSH, puis déconnectez-vous. mais je n'ai pas réussi à adopter la solution pour ce cas d'utilisation.
Ce que j'ai essayé jusqu'à présent :
ssh server << EOF
for cont in `docker ps -q`; do
docker logs -f $cont 2>&1 | bunyan | /var/opt/go-logsink/go-logsink connect 2>&1 &
done
EOF
version nohup : nohup "docker logs -f $cont 2>&1 | bunyan | /var/opt/go-logsink/go-logsink connect"
L'exécution de cette boucle dans une session d'écran fonctionne, mais je veux automatiser l'appel après un déploiement et cela ne fonctionne pas. J'ai également essayé d'appeler nohup "<command>"
dans la boucle et je vois qu'il crée le processus, à la déconnexion de ssh les processus sont tués.
Pregunta:
Comment exécuter cette boucle pour qu'elle crée des processus qui restent en vie après la fermeture de la session ssh.