URL: https://linuxfr.org/forums/programmation-shell/posts/pipe-et-gros-fichier Title: Pipe et gros fichier Authors: gremous Date: 2009年03月31日T14:20:53+02:00 Tags: Score: 0 Bonjour à tous, je suis en train de buter sur une procédure de restauration. J'ai un gros fichier qui est la sauvegarde d'une base SQL. Lors de mes tests, j'utilise un petit fichier, tout marche bien. Lorsque j'utilise le vrai fichier, la connexion ssh se ferme au bout de quelques secondes sans core dump ni rien. Ough ! Les détails: Avant d'injecter le fichier, je dois le faire précéder de quelques commandes. Une fois l'injection terminée, j'ajoute d'autres commandes. Ces commandes sont dans pre.sql et post.sql. Je procède comme ceci: echo "$(< pre.sql)" "$(bzip2 --decompress --keep --stdout mysql.bz2)" "$(< post.sql)" | mysql --user=utilisateur --password --database=mabase Pour isoler le problème, je fais: echo "$(< pre.sql)" "$(bzip2 --decompress --keep --stdout sauvegarde_mysql.bz2)" "$(< post.sql)"> toto.sql Pas mieux, ça ferme la connexion ssh au bout de quelques secondes et je n'ai pas trace du fichier toto.sql note: je ne souhaite pas décompresser le fichier sauvegarde_mysql.bz2 avant l'opération car ça prend vraiment beaucoup de place et de temps. Question 1: pourquoi tant de 'N' ? Question 2: comment puis-je faire pour envoyer mes 3 fichiers via un pipe si l'un d'eux est très gros ? Je vois une autre solution avec un fifo au lieu d'un pipe, mais ça ne résout pas mon problème car je dois envoyer 3 fichiers dans le fifo sans le fermer, je sais le faire uniquement avec echo comme ci-dessus. Question 3: avec un fifo, comment envoyer plusieurs fichiers dedans sans qu'il se ferme à la fin du premier ? Question 4: une solution plus élégante ?