blog.hugopoi.net/www/.content.EZtzwPjb/html/61d53dd19812fca99e74914958bb5412fd5d95c5.00000259.html

583 lines
50 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='UTF-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="/xmlrpc.php">
<title>How to backup FreeNas zvol to S3 storage &#8211; HugoPoi</title>
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='dns-prefetch' href='//s.w.org' />
<link rel="alternate" type="application/rss+xml" title="HugoPoi &raquo; Flux" href="/feed/" />
<link rel="alternate" type="application/rss+xml" title="HugoPoi &raquo; Flux des commentaires" href="/comments/feed/" />
<link rel="alternate" type="application/rss+xml" title="HugoPoi &raquo; How to backup FreeNas zvol to S3 storage Flux des commentaires" href="/2020/04/11/how-to-backup-freenas-zvol-to-s3-storage/feed/" />
<script type="text/javascript">
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/blog.hugopoi.net\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.6"}};
!function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]));case"emoji":return!c([55357,56424,8205,55356,57212],[55357,56424,8203,55356,57212])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(r=t.source||{}).concatemoji?d(r.concatemoji):r.wpemoji&&r.twemoji&&(d(r.twemoji),d(r.wpemoji)))}(window,document,window._wpemojiSettings);
</script>
<style type="text/css">
img.wp-smiley,
img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 .07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
</style>
<link rel='stylesheet' id='wp-block-library-css' href='/wp-includes/css/dist/block-library/style.min.css?ver=5.6' type='text/css' media='all' />
<link rel='stylesheet' id='contact-form-7-css' href='/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.3.2' type='text/css' media='all' />
<link rel='stylesheet' id='wp-syntax-css-css' href='/wp-content/plugins/wp-syntax/css/wp-syntax.css?ver=1.1' type='text/css' media='all' />
<link rel='stylesheet' id='bootstrap-css' href='/wp-content/themes/hestia/assets/bootstrap/css/bootstrap.min.css?ver=1.0.2' type='text/css' media='all' />
<link rel='stylesheet' id='hestia-font-sizes-css' href='/wp-content/themes/hestia/assets/css/font-sizes.min.css?ver=3.0.8' type='text/css' media='all' />
<link rel='stylesheet' id='hestia_style-css' href='/wp-content/themes/hestia/style.min.css?ver=3.0.8' type='text/css' media='all' />
<style id='hestia_style-inline-css' type='text/css'>
.hestia-top-bar, .hestia-top-bar .widget.widget_shopping_cart .cart_list {
background-color: #363537
}
.hestia-top-bar .widget .label-floating input[type=search]:-webkit-autofill {
-webkit-box-shadow: inset 0 0 0px 9999px #363537
}.hestia-top-bar, .hestia-top-bar .widget .label-floating input[type=search], .hestia-top-bar .widget.widget_search form.form-group:before, .hestia-top-bar .widget.widget_product_search form.form-group:before, .hestia-top-bar .widget.widget_shopping_cart:before {
color: #ffffff
}
.hestia-top-bar .widget .label-floating input[type=search]{
-webkit-text-fill-color:#ffffff !important
}
.hestia-top-bar div.widget.widget_shopping_cart:before, .hestia-top-bar .widget.widget_product_search form.form-group:before, .hestia-top-bar .widget.widget_search form.form-group:before{
background-color: #ffffff
}.hestia-top-bar a, .hestia-top-bar .top-bar-nav li a {
color: #ffffff
}
.hestia-top-bar ul li a[href*="mailto:"]:before, .hestia-top-bar ul li a[href*="tel:"]:before{
background-color: #ffffff
}
.hestia-top-bar a:hover, .hestia-top-bar .top-bar-nav li a:hover {
color: #eeeeee
}
.hestia-top-bar ul li:hover a[href*="mailto:"]:before, .hestia-top-bar ul li:hover a[href*="tel:"]:before{
background-color: #eeeeee
}
a,
.navbar .dropdown-menu li:hover > a,
.navbar .dropdown-menu li:focus > a,
.navbar .dropdown-menu li:active > a,
.navbar .navbar-nav > li .dropdown-menu li:hover > a,
body:not(.home) .navbar-default .navbar-nav > .active:not(.btn) > a,
body:not(.home) .navbar-default .navbar-nav > .active:not(.btn) > a:hover,
body:not(.home) .navbar-default .navbar-nav > .active:not(.btn) > a:focus,
a:hover,
.card-blog a.moretag:hover,
.card-blog a.more-link:hover,
.widget a:hover,
.has-text-color.has-accent-color,
p.has-text-color a {
color:#05ad13;
}
.svg-text-color{
fill:#05ad13;
}
.pagination span.current, .pagination span.current:focus, .pagination span.current:hover {
border-color:#05ad13
}
button,
button:hover,
.woocommerce .track_order button[type="submit"],
.woocommerce .track_order button[type="submit"]:hover,
div.wpforms-container .wpforms-form button[type=submit].wpforms-submit,
div.wpforms-container .wpforms-form button[type=submit].wpforms-submit:hover,
input[type="button"],
input[type="button"]:hover,
input[type="submit"],
input[type="submit"]:hover,
input#searchsubmit,
.pagination span.current,
.pagination span.current:focus,
.pagination span.current:hover,
.btn.btn-primary,
.btn.btn-primary:link,
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary.active,
.btn.btn-primary.active:focus,
.btn.btn-primary.active:hover,
.btn.btn-primary:active:hover,
.btn.btn-primary:active:focus,
.btn.btn-primary:active:hover,
.hestia-sidebar-open.btn.btn-rose,
.hestia-sidebar-close.btn.btn-rose,
.hestia-sidebar-open.btn.btn-rose:hover,
.hestia-sidebar-close.btn.btn-rose:hover,
.hestia-sidebar-open.btn.btn-rose:focus,
.hestia-sidebar-close.btn.btn-rose:focus,
.label.label-primary,
.hestia-work .portfolio-item:nth-child(6n+1) .label,
.nav-cart .nav-cart-content .widget .buttons .button,
.has-accent-background-color[class*="has-background"] {
background-color: #05ad13;
}
@media (max-width: 768px) {
.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:focus,
.navbar .navbar-nav .dropdown .dropdown-menu li a:hover,
.navbar .navbar-nav .dropdown .dropdown-menu li a:focus,
.navbar button.navbar-toggle:hover,
.navbar .navbar-nav li:hover > a i {
color: #05ad13;
}
}
body:not(.woocommerce-page) button:not([class^="fl-"]):not(.hestia-scroll-to-top):not(.navbar-toggle):not(.close),
body:not(.woocommerce-page) .button:not([class^="fl-"]):not(hestia-scroll-to-top):not(.navbar-toggle):not(.add_to_cart_button),
div.wpforms-container .wpforms-form button[type=submit].wpforms-submit,
input[type="submit"],
input[type="button"],
.btn.btn-primary,
.widget_product_search button[type="submit"],
.hestia-sidebar-open.btn.btn-rose,
.hestia-sidebar-close.btn.btn-rose,
.everest-forms button[type=submit].everest-forms-submit-button {
-webkit-box-shadow: 0 2px 2px 0 rgba(5,173,19,0.14),0 3px 1px -2px rgba(5,173,19,0.2),0 1px 5px 0 rgba(5,173,19,0.12);
box-shadow: 0 2px 2px 0 rgba(5,173,19,0.14),0 3px 1px -2px rgba(5,173,19,0.2),0 1px 5px 0 rgba(5,173,19,0.12);
}
.card .header-primary, .card .content-primary,
.everest-forms button[type=submit].everest-forms-submit-button {
background: #05ad13;
}
body:not(.woocommerce-page) .button:not([class^="fl-"]):not(.hestia-scroll-to-top):not(.navbar-toggle):not(.add_to_cart_button):hover,
body:not(.woocommerce-page) button:not([class^="fl-"]):not(.hestia-scroll-to-top):not(.navbar-toggle):not(.close):hover,
div.wpforms-container .wpforms-form button[type=submit].wpforms-submit:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input#searchsubmit:hover,
.widget_product_search button[type="submit"]:hover,
.pagination span.current,
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary.active,
.btn.btn-primary:active:focus,
.btn.btn-primary:active:hover,
.hestia-sidebar-open.btn.btn-rose:hover,
.hestia-sidebar-close.btn.btn-rose:hover,
.pagination span.current:hover,
.everest-forms button[type=submit].everest-forms-submit-button:hover,
.everest-forms button[type=submit].everest-forms-submit-button:focus,
.everest-forms button[type=submit].everest-forms-submit-button:active {
-webkit-box-shadow: 0 14px 26px -12px rgba(5,173,19,0.42),0 4px 23px 0 rgba(0,0,0,0.12),0 8px 10px -5px rgba(5,173,19,0.2);
box-shadow: 0 14px 26px -12px rgba(5,173,19,0.42),0 4px 23px 0 rgba(0,0,0,0.12),0 8px 10px -5px rgba(5,173,19,0.2);
color: #fff;
}
.form-group.is-focused .form-control {
background-image: -webkit-gradient(linear,left top, left bottom,from(#05ad13),to(#05ad13)),-webkit-gradient(linear,left top, left bottom,from(#d2d2d2),to(#d2d2d2));
background-image: -webkit-linear-gradient(linear,left top, left bottom,from(#05ad13),to(#05ad13)),-webkit-linear-gradient(linear,left top, left bottom,from(#d2d2d2),to(#d2d2d2));
background-image: linear-gradient(linear,left top, left bottom,from(#05ad13),to(#05ad13)),linear-gradient(linear,left top, left bottom,from(#d2d2d2),to(#d2d2d2));
}
.navbar:not(.navbar-transparent) li:not(.btn):hover > a,
.navbar li.on-section:not(.btn) > a,
.navbar.full-screen-menu.navbar-transparent li:not(.btn):hover > a,
.navbar.full-screen-menu .navbar-toggle:hover,
.navbar:not(.navbar-transparent) .nav-cart:hover,
.navbar:not(.navbar-transparent) .hestia-toggle-search:hover {
color:#05ad13
}
.header-filter-gradient {
background: linear-gradient(45deg, rgba(168,29,132,1) 0%, rgb(234,57,111) 100%);
}
.has-text-color.has-header-gradient-color { color: #a81d84; }
.has-header-gradient-background-color[class*="has-background"] { background-color: #a81d84; }
.has-text-color.has-background-color-color { color: #000000; }
.has-background-color-background-color[class*="has-background"] { background-color: #000000; }
.btn.btn-primary:not(.colored-button):not(.btn-left):not(.btn-right):not(.btn-just-icon):not(.menu-item), input[type="submit"]:not(.search-submit), body:not(.woocommerce-account) .woocommerce .button.woocommerce-Button, .woocommerce .product button.button, .woocommerce .product button.button.alt, .woocommerce .product #respond input#submit, .woocommerce-cart .blog-post .woocommerce .cart-collaterals .cart_totals .checkout-button, .woocommerce-checkout #payment #place_order, .woocommerce-account.woocommerce-page button.button, .woocommerce .track_order button[type="submit"], .nav-cart .nav-cart-content .widget .buttons .button, .woocommerce a.button.wc-backward, body.woocommerce .wccm-catalog-item a.button, body.woocommerce a.wccm-button.button, form.woocommerce-form-coupon button.button, div.wpforms-container .wpforms-form button[type=submit].wpforms-submit, div.woocommerce a.button.alt, div.woocommerce table.my_account_orders .button, .btn.colored-button, .btn.btn-left, .btn.btn-right, .btn:not(.colored-button):not(.btn-left):not(.btn-right):not(.btn-just-icon):not(.menu-item):not(.hestia-sidebar-open):not(.hestia-sidebar-close){ padding-top:15px; padding-bottom:15px; padding-left:33px; padding-right:33px; }
.btn.btn-primary:not(.colored-button):not(.btn-left):not(.btn-right):not(.btn-just-icon):not(.menu-item), input[type="submit"]:not(.search-submit), body:not(.woocommerce-account) .woocommerce .button.woocommerce-Button, .woocommerce .product button.button, .woocommerce .product button.button.alt, .woocommerce .product #respond input#submit, .woocommerce-cart .blog-post .woocommerce .cart-collaterals .cart_totals .checkout-button, .woocommerce-checkout #payment #place_order, .woocommerce-account.woocommerce-page button.button, .woocommerce .track_order button[type="submit"], .nav-cart .nav-cart-content .widget .buttons .button, .woocommerce a.button.wc-backward, body.woocommerce .wccm-catalog-item a.button, body.woocommerce a.wccm-button.button, form.woocommerce-form-coupon button.button, div.wpforms-container .wpforms-form button[type=submit].wpforms-submit, div.woocommerce a.button.alt, div.woocommerce table.my_account_orders .button, input[type="submit"].search-submit, .hestia-view-cart-wrapper .added_to_cart.wc-forward, .woocommerce-product-search button, .woocommerce-cart .actions .button, #secondary div[id^=woocommerce_price_filter] .button, .woocommerce div[id^=woocommerce_widget_cart].widget .buttons .button, .searchform input[type=submit], .searchform button, .search-form:not(.media-toolbar-primary) input[type=submit], .search-form:not(.media-toolbar-primary) button, .woocommerce-product-search input[type=submit], .btn.colored-button, .btn.btn-left, .btn.btn-right, .btn:not(.colored-button):not(.btn-left):not(.btn-right):not(.btn-just-icon):not(.menu-item):not(.hestia-sidebar-open):not(.hestia-sidebar-close){border-radius:3px;}
@media (min-width: 769px){
.page-header.header-small .hestia-title,
.page-header.header-small .title,
h1.hestia-title.title-in-content,
.main article.section .has-title-font-size {
font-size: 42px;
}}
</style>
<link rel='stylesheet' id='hestia_fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A300%2C400%2C500%2C700%7CRoboto+Slab%3A400%2C700&#038;subset=latin%2Clatin-ext&#038;ver=3.0.8' type='text/css' media='all' />
<script type='text/javascript' src='/wp-includes/js/jquery/jquery.min.js?ver=3.5.1' id='jquery-core-js'></script>
<script type='text/javascript' src='/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script>
<link rel="https://api.w.org/" href="/wp-json/" /><link rel="alternate" type="application/json" href="/wp-json/wp/v2/posts/1184" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="/wp-includes/wlwmanifest.xml" />
<meta name="generator" content="WordPress 5.6" />
<link rel="canonical" href="/2020/04/11/how-to-backup-freenas-zvol-to-s3-storage/" />
<link rel='shortlink' href='/?p=1184' />
<meta name='robots' content='noindex,follow' />
<link rel="alternate" type="application/json+oembed" href="/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fblog.hugopoi.net%2F2020%2F04%2F11%2Fhow-to-backup-freenas-zvol-to-s3-storage%2F" />
<link rel="alternate" type="text/xml+oembed" href="/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fblog.hugopoi.net%2F2020%2F04%2F11%2Fhow-to-backup-freenas-zvol-to-s3-storage%2F&#038;format=xml" />
<meta name="description" content="" />
<style type="text/css" id="custom-background-css">
body.custom-background { background-color: #000000; }
</style>
<style type="text/css" id="wp-custom-css">
@media only screen and (min-width:1440px){
/* styles for browsers larger than 1440px; */
.container{
width: 1600px;
}
}
.wp-block {
max-width: initial;
} </style>
</head>
<body class="post-template-default single single-post postid-1184 single-format-standard custom-background blog-post header-layout-default">
<div class="wrapper post-1184 post type-post status-publish format-standard has-post-thumbnail hentry category-aventure-serveur tag-backup tag-freenas tag-s3 tag-zfs tag-zfsbackup tag-zvol default ">
<header class="header ">
<div style="display: none"></div> <nav class="navbar navbar-default navbar-fixed-top hestia_left navbar-not-transparent">
<div class="container">
<div class="navbar-header">
<div class="title-logo-wrapper">
<a class="navbar-brand" href="/"
title="HugoPoi">
<p>HugoPoi</p></a>
</div>
<div class="navbar-toggle-wrapper">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navigation">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="sr-only">Déplier la navigation</span>
</button>
</div>
</div>
<div id="main-navigation" class="collapse navbar-collapse"><ul id="menu-main-menu" class="nav navbar-nav"><li id="menu-item-985" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-985"><a title="Home" href="/">Home</a></li>
<li id="menu-item-1281" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1281"><a title="Videos" href="https://stream.hugopoi.net/channel/1/">Videos</a></li>
<li id="menu-item-1276" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1276"><a title="Contact" href="/contact/">Contact</a></li>
</ul></div> </div>
</nav>
</header>
<div id="primary" class="boxed-layout-header page-header header-small" data-parallax="active" ><div class="container"><div class="row"><div class="col-md-10 col-md-offset-1 text-center"><h1 class="hestia-title entry-title">How to backup FreeNas zvol to S3 storage</h1><h4 class="author">Publié par <a href="/author/hugopoi/" class="vcard author"><strong class="fn">HugoPoi</strong></a> le <time class="entry-date published" datetime="2020-04-11T17:06:22+02:00" content="2020-04-11">11 avril 2020</time><time class="updated hestia-hidden" datetime="2020-04-11T17:22:46+02:00">11 avril 2020</time></h4></div></div></div><div class="header-filter" style="background-image: url(/wp-content/uploads/2020/04/IMG_20200411_171114-scaled.jpg);"></div></div>
<div class="main main-raised ">
<div class="blog-post blog-post-wrapper">
<div class="container">
<article id="post-1184" class="section section-text">
<div class="row">
<div class="col-md-8 single-post-container" data-layout="sidebar-right">
<div class="single-post-wrap entry-content"><h2>Context</h2>
<ul>
<li>I have a FreeNAS setup</li>
<li>I want a cheap offsite backup solution</li>
<li>Backblaze only offer S3 storage solution</li>
<li>I have virtual machines on zvol to backup (not just files)</li>
<li>ZFS send/receive is very convenient if you have another zfs system in other<br />
location</li>
</ul>
<p>I choose <a class="wp-editor-md-post-content-link" href="https://github.com/someone1/zfsbackup-go">zfsbackup-go</a>, this tool use zfs send/receive to generate archives on S3 storage space. This software is not ready for very critical use, still in « beta » missing some features like deletation on remote location from the command line.</p>
<h3>Advantages</h3>
<ul>
<li>Can backup zvol as well as dataset</li>
<li>Differential backups based on snapshots</li>
<li>Encrypted backups</li>
<li>Compressed backups</li>
<li>Compatible with all S3 solutions</li>
</ul>
<h3>Drawbacks</h3>
<ul>
<li>You can&rsquo;t use backups without re-import in a ZFS pool (so real backups<br />
not a archives solution)</li>
<li>Still in beta</li>
</ul>
<h2>How to</h2>
<ol>
<li>(Optional) Build zfsbackup-go for freebsd with crosscompile from a linux
<ol>
<li>You need GO</li>
<li><code>git clone git@github.com:someone1/zfsbackup-go.git</code></li>
<li><code>GOOS=freebsd GOARCH=amd64 go build -o zfsbackup main.go</code></li>
</ol>
</li>
<li>Generate a gpg key <code>gpg --full-generate-key</code>
<p><a class="wp-editor-md-post-content-link" href="https://www.gnupg.org/gph/en/manual/c14.html">Learn gpg getting started</a></p>
</li>
<li>
<p>Export the private/public gpg keys</p>
<ol>
<li><code>gpg --list-keys</code></li>
<li><code>gpg --export-secret-keys -a keyid</code></li>
<li><code>gpg --export -a keyid</code></li>
</ol>
<p><a class="wp-editor-md-post-content-link" href="https://www.phildev.net/pgp/gpg_moving_keys.html">How to export keys</a></p>
</li>
<li>
<p>Create the S3 credentials you need<br />
I use BackBlaze because it&rsquo;s the cheapper one, but you can use every S3 storage service or implementation you want.</p>
</li>
<li>
<p>Configure periodic snapshot in FreeNas<br />
<a class="wp-editor-md-post-content-link" href="/wp-content/uploads/2020/04/Screenshot_2020-04-11-FreeNAS-hmnas-local.png"><img src="/wp-content/uploads/2020/04/Screenshot_2020-04-11-FreeNAS-hmnas-local.png" alt="Freenas Periodical Snapshot" /></a></p>
</li>
<li>
<p>Configure zfsbackup cron task<br />
<a class="wp-editor-md-post-content-link" href="/wp-content/uploads/2020/04/Screenshot_2020-04-11-FreeNAS-hmnas-local1.png"><img src="/wp-content/uploads/2020/04/Screenshot_2020-04-11-FreeNAS-hmnas-local1.png" alt="Crontask FreeNas" /></a></p>
<ul>
<li>You need to ensure the schedule is after the snapshot</li>
<li>I have develop a very little script to have a more simpler crontask because zfsbackup only support one Dataset at a time</li>
<li>Command <code>DATASETS="Tank/Dataset1 Tank/Group/Data1" /root/zfsbackup.sh</code></li>
</ul>
<pre><code class="language-bash ">#!/bin/bash
export B2_ACCOUNT_ID=
export B2_ACCOUNT_KEY=
export PGP_PASSPHRASE=
PGP_EMAIL=
PGP_PUBLIC_RING=
PGP_PRIVATE_RING=
S3_DEST=
for dataset in $DATASETS
do
/root/zfsbackup send --encryptTo $PGP_EMAIL --signFrom $PGP_EMAIL --publicKeyRingPath $PGP_PUBLIC_RING --secretKeyRingPath $PGP_PRIVATE_RING --fullIfOlderThan 2160h $dataset $S3_DEST
done
</code></pre>
</li>
</ol>
<h2>Conclusion</h2>
<ul>
<li>This solution offer very good performance like 15MB/s during backup operation with only 10% cpu usage on Xeon D1521. My Orange ISP uplink is the limitation here.</li>
<li>With incremental snapshot, BackBlaze is a very effective solution at low cost like less than 60€ a year for a 100GB on disk backuped VM.</li>
<li>DO BACKUPS</li>
<li>DO BACKUPS</li>
<li>DO BACKUPS</li>
</ul>
</div>
<div class="section section-blog-info">
<div class="row">
<div class="col-md-6">
<div class="entry-categories">Catégories : <span class="label label-primary"><a href="/category/dossiers/aventure-serveur/">Aventure Serveur</a></span> </div>
<div class="entry-tags">Étiquettes :<span class="entry-tag"><a href="/tag/backup/" rel="tag">backup</a></span><span class="entry-tag"><a href="/tag/freenas/" rel="tag">FreeNAS</a></span><span class="entry-tag"><a href="/tag/s3/" rel="tag">s3</a></span><span class="entry-tag"><a href="/tag/zfs/" rel="tag">zfs</a></span><span class="entry-tag"><a href="/tag/zfsbackup/" rel="tag">zfsbackup</a></span><span class="entry-tag"><a href="/tag/zvol/" rel="tag">zvol</a></span></div> </div>
<div class="col-md-6">
<div class="entry-social">
<a target="_blank" rel="tooltip"
data-original-title="Partager sur Facebook"
class="btn btn-just-icon btn-round btn-facebook"
href="https://www.facebook.com/sharer.php?u=https://blog.hugopoi.net/2020/04/11/how-to-backup-freenas-zvol-to-s3-storage/">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="20" height="17"><path fill="currentColor" d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"></path></svg>
</a>
<a target="_blank" rel="tooltip"
data-original-title="Partager sur Twitter"
class="btn btn-just-icon btn-round btn-twitter"
href="http://twitter.com/share?url=https://blog.hugopoi.net/2020/04/11/how-to-backup-freenas-zvol-to-s3-storage/&#038;text=How%20to%20backup%20FreeNas%20zvol%20to%20S3%20storage">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="20" height="17"><path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>
</a>
<a rel="tooltip"
data-original-title=" Partager par e-mail"
class="btn btn-just-icon btn-round"
href="mailto:?subject=How%20to%20backup%20FreeNas%20zvol%20to%20S3%20storage&#038;body=https://blog.hugopoi.net/2020/04/11/how-to-backup-freenas-zvol-to-s3-storage/">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="20" height="17"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg>
</a>
</div>
</div> </div>
<hr>
<div id="comments" class="section section-comments">
<div class="row">
<div class="col-md-12">
<div class="media-area">
<h3 class="hestia-title text-center">
1 commentaire </h3>
<div class="comment even thread-even depth-1 media" id="comment-31229">
<a class="pull-left" href=" ">
<div class="comment-author avatar vcard">
<img alt='' src='https://secure.gravatar.com/avatar/217fc2ec277b9dff0a506bf9d756a1c8?s=64&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/217fc2ec277b9dff0a506bf9d756a1c8?s=128&#038;d=mm&#038;r=g 2x' class='avatar avatar-64 photo' height='64' width='64' loading='lazy'/> </div>
</a>
<div class="media-body">
<h4 class="media-heading">
Rudi Pittman <small>
&#183; 30 mai 2020 à 21 h 25 min </small>
</h4>
<p>I think I posted my question to another article by accident. Is there a way to transfer the configured containers from the old rancheros image to the new one?</p>
<div class="media-footer">
<a rel='nofollow' class='comment-reply-link' href='/2020/04/11/how-to-backup-freenas-zvol-to-s3-storage/?replytocom=31229#respond' data-commentid="31229" data-postid="1184" data-belowelement="comment-31229" data-respondelement="respond" data-replyto="Répondre à Rudi Pittman" aria-label='Répondre à Rudi Pittman'><svg class="svg-text-color" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="12px" height="12px"><path d="M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"></path></svg>
Répondre</a> </div>
</div>
</div>
</li><!-- #comment-## -->
</div>
<div class="media-body">
<div id="respond" class="comment-respond">
<h3 class="hestia-title text-center">Répondre à <a href="#comment-31229">Rudi Pittman</a> <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2020/04/11/how-to-backup-freenas-zvol-to-s3-storage/#respond">Annuler la réponse</a></small></h3> <span class="pull-left author"> <div class="avatar"><img src="/wp-content/themes/hestia/assets/img/placeholder.jpg" height="64" width="64"/></div> </span><form action="https://blog.hugopoi.net/wp-comments-post.php" method="post" id="commentform" class="form media-body"><p class="comment-notes"><span id="email-notes">Votre adresse e-mail ne sera pas publiée.</span> Les champs obligatoires sont indiqués avec <span class="required">*</span></p><div class="row"> <div class="col-md-4"> <div class="form-group label-floating is-empty"> <label class="control-label">Nom <span class="required">*</span></label><input id="author" name="author" class="form-control" type="text" aria-required='true' /> <span class="hestia-input"></span> </div> </div>
<div class="col-md-4"> <div class="form-group label-floating is-empty"> <label class="control-label">E-mail <span class="required">*</span></label><input id="email" name="email" class="form-control" type="email" aria-required='true' /> <span class="hestia-input"></span> </div> </div>
<div class="col-md-4"> <div class="form-group label-floating is-empty"> <label class="control-label">Site internet</label><input id="url" name="url" class="form-control" type="url" aria-required='true' /> <span class="hestia-input"></span> </div> </div> </div>
<div class="form-group label-floating is-empty"> <label class="control-label">Quavez vous à lesprit ?</label><textarea id="comment" name="comment" class="form-control" rows="6" aria-required="true"></textarea><span class="hestia-input"></span> </div><p class="form-submit"><input name="submit" type="submit" id="submit" class="btn btn-primary pull-right" value="Laisser un commentaire" /> <input type='hidden' name='comment_post_ID' value='1184' id='comment_post_ID' />
<input type='hidden' name='comment_parent' id='comment_parent' value='31229' />
</p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="87b27528cd" /></p><input type="hidden" id="ak_js" name="ak_js" value="77"/><textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100" style="display: none !important;"></textarea></form> </div><!-- #respond -->
</div>
</div>
</div>
</div>
</div>
</div> <div class="col-md-3 blog-sidebar-wrapper col-md-offset-1">
<aside id="secondary" class="blog-sidebar" role="complementary">
<div id="text-2" class="widget widget_text"><h5>Edito</h5> <div class="textwidget">Bienvenu sur mon blog, ici je parle de bricolage, de web (version de base). Blog perso sans prétention je poste quand j'ai le temps en plus j'aime pas écrire.</div>
</div><div id="text-6" class="widget widget_text"><h5>Hébergé gracieusement par</h5> <div class="textwidget"><div style="text-align: center"><a href="http://www.majewan.fr"><img src="/wp-content/uploads/2015/01/path22.png" alt="logo Majewan Interactive" style="width: 50%; padding: 1em;"></a></div></div>
</div><div id="custom_html-2" class="widget_text widget widget_custom_html"><h5>MASTODON</h5><div class="textwidget custom-html-widget"><a rel="me" href="https://mastodon.hugopoi.net/@hugopoi">@Hugopoi</a></div></div><div id="twitter-2" class="widget widget_twitter"><div><h5><span class='twitterwidget twitterwidget-title'>Twitter: hugopoi</span></h5><ul><li><span class='entry-content'>RT <a href="http://twitter.com/MarionBeauvalet" class="twitter-user">@MarionBeauvalet</a>: Payez un peu vos impôts pour voir 🙈 <a href="https://t.co/xEfL9v14Ev">https://t.co/xEfL9v14Ev</a></span> <span class='entry-meta'><span class='time-meta'><a href="http://twitter.com/HugoPoi/statuses/1354193236986900481">about 2 hours ago</a></span> <span class='from-meta'>from <a href="https://about.twitter.com/products/tweetdeck" rel="nofollow">TweetDeck</a></span></span> <span class="intent-meta"><a href="http://twitter.com/intent/tweet?in_reply_to=1354193236986900481" data-lang="fr" class="in-reply-to" title="Reply">Reply</a><a href="http://twitter.com/intent/retweet?tweet_id=1354193236986900481" data-lang="fr" class="retweet" title="Retweet">Retweet</a><a href="http://twitter.com/intent/favorite?tweet_id=1354193236986900481" data-lang="fr" class="favorite" title="Favorite">Favorite</a></span></li><li><span class='entry-content'>J'ai hâte de voir comment, ça sera peut-être prêt en 2032 ? <a href="https://t.co/ui5MuRyD6H">https://t.co/ui5MuRyD6H</a></span> <span class='entry-meta'><span class='time-meta'><a href="http://twitter.com/HugoPoi/statuses/1354114639559319556">about 7 hours ago</a></span> <span class='from-meta'>from <a href="https://github.com/TwidereProject" rel="nofollow">Twidere for Android</a></span></span> <span class="intent-meta"><a href="http://twitter.com/intent/tweet?in_reply_to=1354114639559319556" data-lang="fr" class="in-reply-to" title="Reply">Reply</a><a href="http://twitter.com/intent/retweet?tweet_id=1354114639559319556" data-lang="fr" class="retweet" title="Retweet">Retweet</a><a href="http://twitter.com/intent/favorite?tweet_id=1354114639559319556" data-lang="fr" class="favorite" title="Favorite">Favorite</a></span></li><li><span class='entry-content'>Boosted: <a href="https://t.co/aM5JVKBuER">https://t.co/aM5JVKBuER</a></span> <span class='entry-meta'><span class='time-meta'><a href="http://twitter.com/HugoPoi/statuses/1353957344938520576">about 17 hours ago</a></span> <span class='from-meta'>from <a href="https://crossposter.hugopoi.net/" rel="nofollow">Mastodon To Twitter HugoPoi</a></span></span> <span class="intent-meta"><a href="http://twitter.com/intent/tweet?in_reply_to=1353957344938520576" data-lang="fr" class="in-reply-to" title="Reply">Reply</a><a href="http://twitter.com/intent/retweet?tweet_id=1353957344938520576" data-lang="fr" class="retweet" title="Retweet">Retweet</a><a href="http://twitter.com/intent/favorite?tweet_id=1353957344938520576" data-lang="fr" class="favorite" title="Favorite">Favorite</a></span></li><li><span class='entry-content'>Boosted: <a href="https://t.co/CQ1sBlR5qo">https://t.co/CQ1sBlR5qo</a></span> <span class='entry-meta'><span class='time-meta'><a href="http://twitter.com/HugoPoi/statuses/1353783949093433348">08:17:00 janvier 25, 2021</a></span> <span class='from-meta'>from <a href="https://crossposter.hugopoi.net/" rel="nofollow">Mastodon To Twitter HugoPoi</a></span></span> <span class="intent-meta"><a href="http://twitter.com/intent/tweet?in_reply_to=1353783949093433348" data-lang="fr" class="in-reply-to" title="Reply">Reply</a><a href="http://twitter.com/intent/retweet?tweet_id=1353783949093433348" data-lang="fr" class="retweet" title="Retweet">Retweet</a><a href="http://twitter.com/intent/favorite?tweet_id=1353783949093433348" data-lang="fr" class="favorite" title="Favorite">Favorite</a></span></li><li><span class='entry-content'>🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 🤬 ES QUE BORDEL DE MERDE C'EST TROP DE DEMANDER QUE D'AVOIR L'APPLICATION… <a href="https://t.co/9SP8oUsjrr">https://t.co/9SP8oUsjrr</a></span>
<ul>
<li class="cat-item cat-item-136"><a href="/category/fail/">#FAIL</a> (2)
</li>
<li class="cat-item cat-item-51"><a href="/category/dossiers/aventure-pc/">Aventure PC</a> (15)
</li>
<li class="cat-item cat-item-57"><a href="/category/dossiers/aventure-serveur/">Aventure Serveur</a> (6)
</li>
<li class="cat-item cat-item-130"><a href="/category/bidouille/">Bidouille</a> (6)
</li>
<li class="cat-item cat-item-189"><a href="/category/cuisine/">Cuisine</a> (1)
</li>
<li class="cat-item cat-item-38"><a href="/category/developpement/">Développement</a> (3)
</li>
<li class="cat-item cat-item-10"><a href="/category/dossiers/">Dossiers</a> (9)
</li>
<li class="cat-item cat-item-149"><a href="/category/gaming/">Gaming</a> (1)
</li>
<li class="cat-item cat-item-6"><a href="/category/hadopi-2/">Hadopi</a> (5)
</li>
<li class="cat-item cat-item-18"><a href="/category/hardware/">Hardware</a> (22)
</li>
<li class="cat-item cat-item-12"><a href="/category/internet-2/">Internet</a> (9)
</li>
<li class="cat-item cat-item-11"><a href="/category/dossiers/ip-v6/">IP v6</a> (1)
</li>
<li class="cat-item cat-item-13"><a href="/category/logiciels/">Logiciels</a> (12)
</li>
<li class="cat-item cat-item-1"><a href="/category/news/" title="News générale de mon blog, les articles et brèves général.">News</a> (22)
</li>
<li class="cat-item cat-item-47"><a href="/category/test/">Test</a> (5)
</li>
</ul>
</div><div id="linkcat-2" class="widget widget_links"><h5>Blogs et Infos</h5>
<ul class='xoxo blogroll'>
<li><a href="http://blog.rom1v.com" title="Découverte récente, publication de qualité">®om&#039;s blog</a></li>
<li><a href="http://bluetouff.com" title="Un blog hacktiviste avec des idées et des compétences pas comme les autres." target="_blank">☠ Bluetouff</a></li>
<li><a href="http://www.korben.info/" title="Upgrade your Mind" target="_blank">Korben</a></li>
<li><a href="http://www.laquadrature.net/fr" title="La Quadrature du Net Fr" target="_blank">La Quadrature du Net</a></li>
<li><a href="https://www.nextinpact.com/" title="Actualité Informatique" target="_blank">NextInpact</a></li>
<li><a href="http://pixellibre.net/" title="Un petit blog de geek comme on les aime avec du hadopi, de l&rsquo;info et du troll" target="_blank">Pixel Libre.net</a></li>
<li><a href="http://reflets.info" title="Reflets.info fait le pari de devenir le reflet dune société, des individus qui la composent." target="_blank">Reflets</a></li>
<li><a href="http://blog.spyou.org/wordpress-mu/" rel="acquaintance" title="Fabriquer son internet" target="_blank">Turb(l)o(g)</a></li>
</ul>
</div>
<div id="linkcat-76" class="widget widget_links"><h5>Podcast</h5>
<ul class='xoxo blogroll'>
<li><a href="http://www.nowatch.net/category/nowatch-net/nowatch-fm/appload-nowatch-fm/" title="Des Apps pour votre mobile (un peu sponsorisé par Apple mais il y a du Android aussi)" target="_blank">AppLoad</a></li>
<li><a href="http://freepod.net/" title="Libère ton podcast, regroupement de podcast." target="_blank">Freepod</a></li>
<li><a href="http://www.geekinc.fr/" title="On partage la culture geek ! (sponsorisé par Apple mais j&rsquo;aime bien quand même)" target="_blank">GeekInc</a></li>
<li><a href="http://www.captainweb.net/" title="Podcast déjanté de l&rsquo;actu web, super ambiance !" target="_blank">L&#039;Apéro du Captainweb</a></li>
<li><a href="http://www.lagrottedubarbu.com/" title="Hack the technologie" target="_blank">La Grotte du Barbu</a></li>
<li><a href="http://www.poligeek.fr/" title= Un jour les geek domineront le monde, mais pas demain, ya une keynote de Steve Jobs »" target="_blank">PoliGeek</a></li>
<li><a href="http://quadratour.net/" title="Pour les vieux Geeks de l&rsquo;apocalypse…" target="_blank">Quadratour</a></li>
</ul>
</div>
</aside><!-- .sidebar .widget-area -->
</div>
</div>
</article>
</div>
</div>
</div>
<div class="section related-posts">
<div class="container">
<div class="row">
<div class="col-md-12">
<h2 class="hestia-title text-center">Articles similaires</h2>
<div class="row">
<div class="col-md-4">
<div class="card card-blog">
<div class="content">
<h6 class="category text-info"><a href="/category/dossiers/aventure-serveur/" title="Voir tout les articles dans Aventure Serveur" >Aventure Serveur</a> </h6>
<h4 class="card-title">
<a class="blog-item-title-link" href="/2020/03/01/install-rancheros-on-freenas-11-3/" title="Install RancherOs on FreeNas 11.3" rel="bookmark">
Install RancherOs on FreeNas 11.3 </a>
</h4>
<p class="card-description">Install RancherOs on FreeNas 11.3 The automated RancherOs installation aka Docker VM has been removed in 11.3 RancherOs doesn&rsquo;t support EFI boot out of the box Thanks to MKinney howto This howto is provided without<a class="moretag" href="/2020/03/01/install-rancheros-on-freenas-11-3/"> Lire la suite&hellip;</a></p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card card-blog">
<div class="card-image">
<a href="/2019/03/30/le-cloud-maison/" title="Le cloud maison">
<img width="360" height="240" src="/wp-content/uploads/2019/03/IMG_7810-360x240.jpg" class="attachment-hestia-blog size-hestia-blog wp-post-image" alt="" loading="lazy" srcset="/wp-content/uploads/2019/03/IMG_7810-360x240.jpg 360w, /wp-content/uploads/2019/03/IMG_7810-300x200.jpg 300w, /wp-content/uploads/2019/03/IMG_7810-768x512.jpg 768w, /wp-content/uploads/2019/03/IMG_7810-1024x683.jpg 1024w" sizes="(max-width: 360px) 100vw, 360px" /> </a>
</div>
<div class="content">
<h6 class="category text-info"><a href="/category/dossiers/aventure-serveur/" title="Voir tout les articles dans Aventure Serveur" >Aventure Serveur</a> </h6>
<h4 class="card-title">
<a class="blog-item-title-link" href="/2019/03/30/le-cloud-maison/" title="Le cloud maison" rel="bookmark">
Le cloud maison </a>
</h4>
<p class="card-description">Voilà un petit moment que je me devais de faire cet article pour vous en dire un peu plus sur comment je gère mes données numériques au quotidien. Et après plusieurs essais et échecs, je<a class="moretag" href="/2019/03/30/le-cloud-maison/"> Lire la suite&hellip;</a></p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card card-blog">
<div class="content">
<h6 class="category text-info"><a href="/category/dossiers/aventure-serveur/" title="Voir tout les articles dans Aventure Serveur" >Aventure Serveur</a> </h6>
<h4 class="card-title">
<a class="blog-item-title-link" href="/2012/12/23/redimensionner-une-partition-ntfs/" title="Redimensionner une partition NTFS" rel="bookmark">
Redimensionner une partition NTFS </a>
</h4>
<p class="card-description">J&rsquo;ai un serveur sous Debian et je dois redimensionner une partition NTFS sur un disque de 2 To. Je me suis inspiré de cet article http://ubuntuforums.org/showthread.php?t=1244058. 1) Ntfsprogs Première étape installer ntfsprogs qui contient l&rsquo;outil<a class="moretag" href="/2012/12/23/redimensionner-une-partition-ntfs/"> Lire la suite&hellip;</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer-wrapper">
<footer class="footer footer-black footer-big">
<div class="container">
<div class="hestia-bottom-footer-content"><ul class="footer-menu pull-left"><li class="page_item page-item-47"><a href="/contact/">Contact</a></li>
<li class="page_item page-item-1232"><a href="/wishlist/">Wishlist</a></li>
</ul>
<div class="copyright pull-right">
Hestia | Développé par <a href="https://themeisle.com%20" rel="nofollow">ThemeIsle</a> </div>
</div> </div>
</footer>
</div>
</div>
<button class="hestia-scroll-to-top">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="12.5px" height="20px"><path d="M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"></path></svg>
</button>
<!-- Matomo -->
<script type="text/javascript">
var _paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//blog.hugopoi.net/wp-content/plugins/wp-piwik/proxy/"
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.php'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script type='text/javascript' id='contact-form-7-js-extra'>
/* <![CDATA[ */
var wpcf7 = {"apiSettings":{"root":"https:\/\/blog.hugopoi.net\/wp-json\/contact-form-7\/v1","namespace":"contact-form-7\/v1"}};
/* ]]> */
</script>
<script type='text/javascript' src='/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=5.3.2' id='contact-form-7-js'></script>
<script type='text/javascript' src='/wp-content/plugins/wp-syntax/js/wp-syntax.js?ver=1.1' id='wp-syntax-js-js'></script>
<script type='text/javascript' src='/wp-includes/js/comment-reply.min.js?ver=5.6' id='comment-reply-js'></script>
<script type='text/javascript' src='/wp-content/themes/hestia/assets/bootstrap/js/bootstrap.min.js?ver=1.0.2' id='jquery-bootstrap-js'></script>
<script type='text/javascript' src='/wp-includes/js/jquery/ui/core.min.js?ver=1.12.1' id='jquery-ui-core-js'></script>
<script type='text/javascript' id='hestia_scripts-js-extra'>
/* <![CDATA[ */
var requestpost = {"ajaxurl":"https:\/\/blog.hugopoi.net\/wp-admin\/admin-ajax.php","disable_autoslide":"","masonry":""};
/* ]]> */
</script>
<script type='text/javascript' src='/wp-content/themes/hestia/assets/js/script.min.js?ver=3.0.8' id='hestia_scripts-js'></script>
<script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=5.6' id='wp-embed-js'></script>
<script async="async" type='text/javascript' src='/wp-content/plugins/akismet/_inc/form.js?ver=4.1.8' id='akismet-form-js'></script>
<script type='text/javascript' src='https://platform.twitter.com/widgets.js?ver=1.0.0' id='twitter-widgets-js'></script>
</body>
</html>