<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://blog.roxing.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>blog.roxing.net</title>
	<link>http://blog.roxing.net/</link>
	<description>weblog roxing.net - astuces spip, php, bash, linux &amp; more</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://blog.roxing.net/spip.php?id_mot=152&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>blog.roxing.net</title>
		<url>https://blog.roxing.net/local/cache-vignettes/L144xH37/siteon0-6ddb5.png?1727125340</url>
		<link>http://blog.roxing.net/</link>
		<height>37</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Compresser, d&#233;couper et envoyer des fichiers volumineux sous Linux</title>
		<link>https://blog.roxing.net/linux-compresser-decouper-et-envoyer-des-fichiers</link>
		<guid isPermaLink="true">https://blog.roxing.net/linux-compresser-decouper-et-envoyer-des-fichiers</guid>
		<dc:date>2016-11-22T09:59:03Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>bash</dc:subject>
		<dc:subject>sauvegarde</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>xz-utils</dc:subject>
		<dc:subject>compression</dc:subject>
		<dc:subject>tmux</dc:subject>
		<dc:subject>split</dc:subject>
		<dc:subject>tar</dc:subject>

		<description>&lt;p&gt;Envoyer des fichier volumineux au travers d'une petite connexion internet peu s'av&#233;rer compliqu&#233;. Cet article liste les quelques outils n&#233;cessaires et les commandes utiles &#224; l'accomplissement de cette t&#226;che.&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/bash" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/sauvegarde" rel="tag"&gt;sauvegarde&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/xz-utils" rel="tag"&gt;xz-utils&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/compression" rel="tag"&gt;compression&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/tmux" rel="tag"&gt;tmux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/split" rel="tag"&gt;split&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/tar" rel="tag"&gt;tar&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Xz - Compresser un fichier &lt;/h2&gt;
&lt;p&gt;Xz est un outil de compression tr&#232;s performant. Pour compresser un gros fichier avec le taux de compression maximal on utilise simplement :&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;xz -9 gros_fichier&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le fichier de sortie sera nomm&#233; gros_fichier.xz&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Split - D&#233;couper un fichier en plusieurs fichiers de taille d&#233;finie &lt;/h2&gt;
&lt;p&gt;D&#233;couper le fichier en plusieurs fragments de 1GB (-b bytes) et ajouter un suffixe num&#233;rique aux fichiers de sortie (-d )&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;split -b 1024M -d gros_fichier.xz gros_fichier.xz_part&lt;/code&gt;&lt;br class='autobr' /&gt;
donnera :&lt;/p&gt;
&lt;p&gt;gros_fichier.xz_part01&lt;br class='manualbr' /&gt;gros_fichier.xz_part02&lt;br class='manualbr' /&gt;gros_fichier.xz_part03&lt;br class='manualbr' /&gt;...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Combiner tar + xz-utils + split &lt;/h2&gt;
&lt;p&gt;A titre d'exemple, le m&#234;me r&#233;sultat que pr&#233;c&#233;dement, en utilisant conjointement tar et split :&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;tar -Jcvf - un_repertoire_ou_fichier | split -d -b 1024MB - gros_fichier.tar.xz. &lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Tmux - Envoyer les fichiers en t&#226;che de fond &lt;/h2&gt;
&lt;p&gt;Pour envoyer les fichiers vers un serveur, j'utilise scp avec une clef ssh et comme je ne veux pas saturer la connexion j'utilise l'option -l (limit). Dans l'exemple ci-dessous, -l 512 correspond &#224; environ 50ko/s.&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;scp -i ~/.ssh/ma_clef -l 512 gros_fichier.xz_part* user@host:/home/bob/incoming&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;C'est bien joli, mais si je fais des transferts &#224; distance, j'aimerais bien lancer la commande en t&#226;che de fond, surtout si l'upload est tr&#232;s long. &lt;br class='autobr' /&gt;
Pour ce faire, j'utilise tmux qui permet d'utiliser plusieurs terminaux virtuel que l'on peu d&#233;tacher ou rattacher au terminal facilement.&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;tmux new-session -d -s upload 'scp -i ~/.ssh/ma_clef -l 512 gros_fichier.xz_part* user@host:/home/bob/incoming 2&gt; errors.log'&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Rattacher le terminal pour voir l'upload en cours : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tmux attach&lt;/code&gt;&lt;br class='manualbr' /&gt;D&#233;tacher le terminal avec la combinaison de touches &lt;kbd&gt;ctrl&lt;/kbd&gt; + &lt;kbd&gt;b&lt;/kbd&gt; puis &lt;kbd&gt;d&lt;/kbd&gt;&lt;br class='autobr' /&gt;
Gr&#226;ce &#224; tmux, je peux me d&#233;connecter du shell distant et revenir plus tard... &lt;br class='autobr' /&gt;
Un simple &lt;samp&gt;tmux a&lt;/samp&gt; me permettra de consulter l'&#233;tat d'avancement de l'upload.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Cat - R&#233;assembler les fichiers d&#233;coup&#233;s &lt;/h2&gt;
&lt;p&gt;Une fois les fichiers transf&#233;r&#233;s, je les r&#233;assemble avec un simple cat&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;cat gros_fichier.xz_part* &gt; gros_fichier.xz&lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; D&#233;compression d'un xz ou d'un tar.xz &lt;/h2&gt;
&lt;p&gt;Avec tar (-x xtract) :&lt;br class='manualbr' /&gt;&lt;samp&gt;tar -Jxvf gros_fichier.tar.xz&lt;/samp&gt;&lt;/p&gt;
&lt;p&gt;Avec xz-utils (-d)&lt;br class='manualbr' /&gt;&lt;samp&gt;xz -d gros_fichier.xz&lt;/samp&gt;&lt;/p&gt;
&lt;p&gt;Voil&#224;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
