{"id":6661,"date":"2025-01-04T17:29:20","date_gmt":"2025-01-04T16:29:20","guid":{"rendered":"https:\/\/olivier.hoarau.site\/?p=6661"},"modified":"2025-01-04T17:31:41","modified_gmt":"2025-01-04T16:31:41","slug":"synchroniser-son-kdrive-avec-rclone","status":"publish","type":"post","link":"https:\/\/olivier.hoarau.org\/?p=6661","title":{"rendered":"Synchroniser son kDrive avec rclone"},"content":{"rendered":"\n<p>J&rsquo;avais pr\u00e9sent\u00e9 il y a quelques temps l&rsquo;offre <a href=\"https:\/\/ksuite.infomaniak.com\/kdrive\">kDrive<\/a> d&rsquo;<a href=\"https:\/\/www.infomaniak.com\/fr\">Infomaniak<\/a> dans <a href=\"https:\/\/olivier.hoarau.org\/?p=5958\">ce post<\/a>. Il se trouve que j&rsquo;y ai introduit une erreur que je tiens \u00e0 rectifier ici. Jusqu&rsquo;\u00e0 pr\u00e9sent j&rsquo;utilisais leur application maison <strong>kDrive<\/strong> dont il existe un <strong>appimage<\/strong> pour Linux pour synchroniser mes donn\u00e9es. Elle se pr\u00e9sente comme cela:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/kdrive.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"505\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/kdrive.jpg?resize=474%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-5952\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/kdrive.jpg?w=744&amp;ssl=1 744w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/kdrive.jpg?resize=282%2C300&amp;ssl=1 282w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><figcaption class=\"wp-element-caption\">kDrive<\/figcaption><\/figure>\n\n\n\n<p>Les derni\u00e8res versions ont apport\u00e9 des r\u00e9gressions qui m&rsquo;ont caus\u00e9 un tas de probl\u00e8me de synchronisation, heureusement que j&rsquo;entretiens 3 sauvegardes au total pour \u00e9viter la perte s\u00e8che de donn\u00e9es. J&rsquo;y ai pass\u00e9 des heures pour tout remettre en place et mes \u00e9changes avec la hotline ont \u00e9t\u00e9 vain pour comprendre pourquoi \u00e7a dysfonctionnait. Lors de mon dernier \u00e9change avec la hotline, j&rsquo;ai appris qu&rsquo;il \u00e9tait possible de se connecter au <a href=\"https:\/\/faq.infomaniak.com\/2409\">kDrive via WebDAV<\/a> et donc d&rsquo;utiliser un outil comme <a href=\"https:\/\/rclone.org\/\">rclone<\/a>, ce que je ne pensais pas possible jusqu&rsquo;\u00e0 pr\u00e9sent \u00e0 tort.<\/p>\n\n\n\n<p>Aussit\u00f4t dit, aussit\u00f4t fait, j&rsquo;ai mis en place avec des scripts <strong>bash<\/strong> deux synchronisations avec <strong>rclone<\/strong> qui m&rsquo;ont permis d&rsquo;abandonner d\u00e9finitivement l&rsquo;application <strong>kDrive<\/strong> d\u00e9di\u00e9e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>une synchronisation asynchrone pour mes photos que je lance ponctuellement de mon PC o\u00f9 elles sont stock\u00e9es physiquement ;<\/li>\n\n\n\n<li>une synchronisation synchrone qui se lance automatiquement via <strong>cron<\/strong> toutes les semaines pour mes donn\u00e9es de bureautique et les pages de mes sites.<\/li>\n<\/ul>\n\n\n\n<!--more-->\n\n\n\n<p>Pour la synchronisation des photos il y a une petite subtilit\u00e9, la copie de r\u00e9f\u00e9rence est la copie locale, sauf que je synchronise les photos de nos t\u00e9l\u00e9phones mobiles sur le <strong>kDrive<\/strong> \u00e9galement via l&rsquo;application <strong>Android<\/strong> qui va bien. Donc il y a n\u00e9cessit\u00e9 \u00e9galement de synchroniser du <strong>kDrive<\/strong> vers le r\u00e9pertoire local \u00e9galement. J&rsquo;ai donc cr\u00e9\u00e9 trois scripts au total, le premier pour la synchronisation synchrone et deux pour la synchronisation asynchrone, l&rsquo;un du r\u00e9pertoire local vers le r\u00e9pertoire distant et l&rsquo;autre du r\u00e9pertoire distant des photos de mobile vers le r\u00e9pertoire local des photos de mobile.<\/p>\n\n\n\n<p>Voici le premier script pour la synchronisation synchrone plac\u00e9 sous <strong>\/etc\/cron.weekly <\/strong>:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"sh\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">#!\/bin\/bash\n###################################################\n#  synchronisation bureautique et homepage kdrive #\n###################################################\n# fichier de log\nLOG_FILE=\"\/var\/log\/rclone-kdrive.log\"\n# fichier des filtres avec les fichiers \u00e0 exclure\nREP_FILTRE=\"\/home\/olivier\/Documents\/filtre-rclone\"\n# d\u00e9finition des sources et destinations \u00e0 synchroniser\n# bureautique \u00e0 synchroniser\nSOURCE_BUREAUTIQUE=\"\/data\/bureautique\"\nDESTINATION_BUREAUTIQUE=\"kdrive:Common documents\/bureautique\"\n# homepage \u00e0 synchroniser\nSOURCE_HOMEPAGE=\"\/data\/homepage\/\"\nDESTINATION_HOMEPAGE=\"kdrive:homepage\"\n\necho \"\" >> $LOG_FILE\nladate=`date +\"%Y-%m-%d--%T\"`\necho \"Sauvegarde de $ladate\" >> $LOG_FILE\n\necho \"Synchronisation de bureautique\" >> $LOG_FILE\n\/usr\/local\/bin\/rclone sync $SOURCE_BUREAUTIQUE \"$DESTINATION_BUREAUTIQUE\" --filter-from $REP_FILTRE --skip-links -v --log-file $LOG_FILE\necho \"Synchronisation de homepage\" >> $LOG_FILE\n\/usr\/local\/bin\/rclone sync $SOURCE_HOMEPAGE \"$DESTINATION_HOMEPAGE\" --filter-from $REP_FILTRE --skip-links -v --log-file $LOG_FILE\necho \"Fin de la synchronisation\" >> $LOG_FILE\n<\/pre><\/div>\n\n\n\n<p>Le deuxi\u00e8me script pour la synchronisation asynchrone du r\u00e9pertoire local vers le r\u00e9pertoire distant des photos :<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"sh\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">#!\/bin\/bash\n##################################\n#  synchronisation photos kdrive #\n##################################\n# fichier de log\nLOG_FILE=\"\/home\/olivier\/tmp\/rclone-kdrive.log\"\n# fichier des filtres avec les fichiers \u00e0 exclure\nREP_FILTRE=\"\/home\/olivier\/Documents\/filtre-rclone\"\n# d\u00e9finition des sources et destinations \u00e0 synchroniser\n# photos \u00e0 synchroniser\nSOURCE_PHOTOS=\"\/run\/media\/olivier\/Espace5-4To\/photos\"\nDESTINATION_PHOTOS=\"kdrive:Common documents\/Photos\"\n\necho \"\" >> $LOG_FILE \nladate=`date +\"%Y-%m-%d--%T\"`\necho \"Sauvegarde de $ladate\" >> $LOG_FILE\n\necho \"Synchronisation de Photos\" >> $LOG_FILE\n\/usr\/local\/bin\/rclone copy $SOURCE_PHOTOS \"$DESTINATION_PHOTOS\" --filter-from $REP_FILTRE --skip-links -v --log-file $LOG_FILE\n\necho \"Fin de la synchronisation\" >> $LOG_FILE<\/pre><\/div>\n\n\n\n<p>Le troisi\u00e8me script pour la synchronisation asynchrone du r\u00e9pertoire distant vers le r\u00e9pertoire local des photos du mobile :<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"sh\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">#!\/bin\/bash\n##########################################\n#  synchronisation photos mobiles kdrive #\n##########################################\n# fichier de log\nLOG_FILE=\"\/home\/olivier\/tmp\/rclone-kdrive.log\"\n# fichier des filtres avec les fichiers \u00e0 exclure\nREP_FILTRE=\"\/home\/olivier\/Documents\/filtre-rclone\"\n# d\u00e9finition des sources et destinations \u00e0 synchroniser\nDESTINATION=\"\/run\/media\/olivier\/Espace5-4To\/photos\/Photos-mobile\"\nSOURCE=\"kdrive:Common documents\/Photos\/Photos-mobile\"\n\necho \"\" >> $LOG_FILE \nladate=`date +\"%Y-%m-%d--%T\"`\necho \"Sauvegarde de $ladate\" >> $LOG_FILE\n\necho \"Synchronisation des photos des mobiles\" >> $LOG_FILE\n\/usr\/local\/bin\/rclone copy \"$SOURCE\" \"$DESTINATION\" --filter-from $REP_FILTRE --skip-links -v --log-file $LOG_FILE\n\necho \"Fin de la synchronisation\" >> $LOG_FILE<\/pre><\/div>\n\n\n\n<p>Et voici le contenu du fichier des filtres<strong> \/home\/olivier\/Documents\/filtre-rclone<\/strong> pour exclure des fichiers ou les r\u00e9pertoires commen\u00e7ant par un \u00ab\u00a0<strong>.<\/strong>\u00ab\u00a0.<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"text\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">- *.bak\n- .*\n- *~\n- ~*\n- .*\/**\n- *.lock\n- *.lnk<\/pre><\/div>\n\n\n\n<p>Pour la configuration de <strong>rclone<\/strong> avec <strong>kDrive<\/strong>, je vous invite \u00e0 consulter <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=sauvegarde-cloud#rclone-kdrive\">la page d\u00e9di\u00e9e<\/a> sur mon site <a href=\"https:\/\/www.funix.org\">Funix<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&rsquo;avais pr\u00e9sent\u00e9 il y a quelques temps l&rsquo;offre kDrive d&rsquo;Infomaniak dans ce post. Il se trouve que j&rsquo;y ai introduit une erreur que je tiens \u00e0 rectifier ici. Jusqu&rsquo;\u00e0 pr\u00e9sent j&rsquo;utilisais leur application maison kDrive dont il existe un appimage pour Linux pour synchroniser mes donn\u00e9es. Elle se pr\u00e9sente comme cela: Les derni\u00e8res versions ont &hellip; <a href=\"https:\/\/olivier.hoarau.org\/?p=6661\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Synchroniser son kDrive avec rclone<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[5,12],"tags":[108,52],"class_list":["post-6661","post","type-post","status-publish","format-standard","hentry","category-logiciels-libres","category-vie-de-funix","tag-kdrive","tag-sauvegarde"],"share_on_mastodon":{"url":"https:\/\/mastodon.social\/@funix\/113771030821853816","error":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/peOjJ-1Jr","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/6661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6661"}],"version-history":[{"count":2,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/6661\/revisions"}],"predecessor-version":[{"id":6664,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/6661\/revisions\/6664"}],"wp:attachment":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}