Bonjour,
Je réalise un export d'un base de données via un script, il génère un gros fichier dump et un fichier log. Tout ça est stocké sur le disque pour être compressé par la suite et sauvegardé sur un autre serveur via backuppc.
Afin de gagner de la place j'aimerais faire en sorte que l'export soit compressé à la volé. J'ai essayé :
#exp [...] file=/monfic.dump log=monfic.log | tar -czf /export/export-oracle.tar.gz
Mais tar me répond qu'il est lâche et ne veux pas archiver un fichier vide.
# gzip
Posté par GaMa (site web personnel) . Évalué à 1.
tar ne compresse pas. Il crée une archive à partir de plusieurs fichiers.
Si tu veux compresser, c'est du coté de gzip qu'il faut regarder.
Le "-z" de tar n'est qu'un "raccourci" pour piper à gzip. Ainsi les deux lignes suivantes sont équivalentes :
Matthieu Gautier|irc:starmad
# Auto réponse
Posté par Philippe M (site web personnel) . Évalué à 1.
http://www.lao-dba.com/article-administration-export-et-compression-a-la-volee-52930751.html
Born to Kill EndUser !
# Si ton machin ne se déplace pas dans le fichier de sortie…
Posté par jben . Évalué à 2. Dernière modification le 27 juin 2013 à 12:07.
Si ton programme ne fait qu'écrire dans des fichiers sans se déplacer dedans (et si ton script se déplace dans le fichier de sortie, pour compresser à la volée, c'est mort), tu peux lancer un truc du genre :
Explication :
>(gzip > truc.gz)
va apparaitre comme un fichier/dev/fd/smth
, et ce que tu vas écrire dans ce fichier va être envoyé dans le stdin degzip
qui va le compresser et l'envoyer via son stdout danstruc.gz
.Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.