{"id":566,"date":"2014-04-19T22:43:40","date_gmt":"2014-04-19T20:43:40","guid":{"rendered":"https:\/\/www.fanjoe.be\/?p=566"},"modified":"2015-03-08T21:54:53","modified_gmt":"2015-03-08T20:54:53","slug":"reduire-la-taille-du-backup","status":"publish","type":"post","link":"https:\/\/www.fanjoe.be\/?p=566","title":{"rendered":"Raspberry Pi : R\u00e9duire la taille du backup"},"content":{"rendered":"<p><a href=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2014\/04\/zeros.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-569\" src=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2014\/04\/zeros.jpg\" alt=\"zeros\" width=\"620\" height=\"310\" srcset=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2014\/04\/zeros.jpg 600w, https:\/\/www.fanjoe.be\/wp-content\/uploads\/2014\/04\/zeros-175x87.jpg 175w, https:\/\/www.fanjoe.be\/wp-content\/uploads\/2014\/04\/zeros-300x150.jpg 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>Apr\u00e8s plus d&rsquo;un mois de backups r\u00e9guliers vers un disque dur externe, je me suis aper\u00e7u que, petit \u00e0 petit, chaque fichier backup compress\u00e9 devenait de plus en plus gros. Passant de 2,2Go \u00e0 plus de 4Go.<br \/>\nIl \u00e9tait normal que la taille augmente l\u00e9g\u00e8rement suite \u00e0 divers installations (Libre Office et autre) mais pas dans ces proportions.<\/p>\n<p>Quelques investigations plus loin et le verdict tomba : la faute \u00e0 <a title=\"Updraft Plus\" href=\"https:\/\/wordpress.org\/plugins\/updraftplus\/\" target=\"_blank\">UpdraftPlus<\/a> (dont je vous parlerai un jour).<\/p>\n<p>Ce plugin WordPress permet d&rsquo;effectuer des backups quotidiens de tous les dossiers et de la base de donn\u00e9e WordPress et d&rsquo;envoyer le tout sur <a title=\"Google Drive\" href=\"http:\/\/drive.google.com\" target=\"_blank\">Google Drive<\/a>.<br \/>\nMais avant cet envoi, Updraft Plus cr\u00e9e des fichiers ZIP sur la carte SD et les supprime une fois ceux-ci en ligne.<br \/>\nSupprim\u00e9s oui, mais uniquement de la table d&rsquo;allocation des fichiers. Les donn\u00e9es restant, elles, sur la carte.<br \/>\nEt au backup UDP suivant, de nouveaux ZIP \u00e9crits ailleurs sur la carte et ainsi de suite.<\/p>\n<p>Et comme mon backup s\u2019effectue avec la commande dd, c&rsquo;est l&rsquo;ensemble des donn\u00e9es (bit par bit) pr\u00e9sentes sur la carte (y compris celles qui ont \u00e9t\u00e9 supprim\u00e9es) qui est compress\u00e9 vers le HD externe. Ceci faisant augmenter la taille de chaque backup.<\/p>\n<p>Voici mon astuce pour contourner le probl\u00e8me :<\/p>\n<p>Sur le bureau <code>~\/Desktop\/<\/code>, on va cr\u00e9er un fichier constitu\u00e9 uniquement de z\u00e9ros (<code>zero.file<\/code>) qui va occuper tout l&rsquo;espace disque restant sur la carte SD et recouvrir les vestiges des fichiers ZIP. Une fois l&rsquo;opp\u00e9ration termin\u00e9e, on va supprimer le fichier <code>zero.file<\/code>. Les z\u00e9ros restants seront tr\u00e8s faciles \u00e0 zipper et ne prendront que tr\u00e8s peu de place.<\/p>\n<p>Pour cela, on va cr\u00e9er un script <code>Clean.sh<\/code> que l&rsquo;on va placer dans le dossier <code>\/home\/pi<\/code>.<\/p>\n<pre>sudo nano \/home\/pi\/Clean.sh<\/pre>\n<p>On va y placer le code suivant :<\/p>\n<pre>sudo cat \/dev\/zero &gt; ~\/Desktop\/zero.file\r\nsudo rm ~\/Desktop\/zero.file<\/pre>\n<p>On va ensuite rendre ce fichier ex\u00e9cutable avec la commande :<\/p>\n<pre>sudo chmod u+x \/home\/pi\/Clean.sh<\/pre>\n<p>Et on va demander l&rsquo;ex\u00e9cution de ce script 1\/2 heure avant le backup que j&rsquo;ai configur\u00e9 \u00e0 une fr\u00e9quence hebdomadaire \u00e0 3:30AM le lundi.<\/p>\n<pre>sudo crontab -e<\/pre>\n<p>Et on ajoute ce code au fichier :<\/p>\n<pre>00 3 * * 1 \/home\/pi\/Clean.sh &gt; \/home\/pi\/Clean.log 2&gt;&amp;1<\/pre>\n<p>On aura donc un script Clean.sh qui va s&rsquo;activer \u00e0 3:00AM le lundi, juste avant le backup de 3:30AM.<\/p>\n<p><strong>Edit : 2 juillet 2014<\/strong><\/p>\n<p>A l\u2019usage, j\u2019ai constat\u00e9 que la commande cat provoquait parfois un plantage total. Probablement \u00e0 cause du manque d\u2019espace, juste avant la suppression du fichier zero.file.<br \/>\nJe l\u2019ai donc remplac\u00e9e par un dd qui prend malheureusement un peu plus de temps pour effectuer la m\u00eame action. La commande sync permet de synchroniser les donn\u00e9es en m\u00e9moire et celles sur disque.<\/p>\n<pre>sudo dd if=\/dev\/zero of=\/home\/pi\/Desktop\/zero.file\r\nsudo sync<\/pre>\n<p><strong>Edit 08\/03\/2015 :<\/strong><\/p>\n<p>Lisez aussi cet article pour un r\u00e9sum\u00e9 :<br \/>\n<a title=\"Raspberry Pi : Script de backup de la carte SD\" href=\"https:\/\/www.fanjoe.be\/?p=1373\">https:\/\/www.fanjoe.be\/?p=1373<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><a href=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2014\/04\/zeros.jpg\"><\/a><\/p>\n<p>Apr\u00e8s plus d&rsquo;un mois de backups r\u00e9guliers vers un disque dur externe, je me suis aper\u00e7u que, petit&#8230;<\/p>\n","protected":false},"author":1,"featured_media":569,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[10,3,12],"tags":[46,21,45],"class_list":["post-566","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-geek","category-informatique","category-raspberrypi","tag-devzero","tag-backup","tag-zero","end"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2014\/04\/zeros.jpg","_links":{"self":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/posts\/566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=566"}],"version-history":[{"count":0,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/posts\/566\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/media\/569"}],"wp:attachment":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}