Hello,
Pas de résolution en vue, mais merci à alband85 pour sa réponse qui m'a permis de mieux diagnostiquer le problème.
Je viens de faire un test en dézippant un fichier est en tapant juste
mysql -u myUser --password='monMotdePasse' maBaseDeDonnées < monFichierDezippé &
...et ça marche même quand je ferme la console!
Donc le problème s'est déplacé: il ne vient pas de la syntaxe à utliser en shell, apparemment il est tout simplement impossible de lier ensemble deux tâches d'arrière-plan dans un même pipe.
Dans mon exemple en haut, je redirigeais la sortie standard d'une tâche d'avant-plan vers l'entrée d'une tâche d'arrière plan...sans le savoir, en croyant qu'il s'agissait de deux tâches en background.
J'ai essayé
#sudo gzip -dc monfichier.zip & | mysql -u myUser --password='monMotdePasse' maBaseDeDonnées &
mais ça marche pas.
Ce serait pourtant intéressant, car quand je dois dézipper une base de 100 Gigas, j'ai pour le moment besoin d'au moins 220 Giga d'espace disque disponible: le fichier dézippé + la base de données à charger, avec ses index et les fichiers de tri de myisam + le fichier zippé.
Pouvoir faire du piping entre deux processus d'arrière plan me permettrait d'économiser la moitié de l'espace disque.
La seule solution est sans doute la commande "at"
Partager