# uname -a

Switch

vendredi 20 février 2015

Set up an incremental backup with duplicity, rsync, and backupninja on Debian

Version française.

This is a not-so-concise how-to about setting up an incremental backup, using Backupninja with Duplicity backend on Debian.

Abstract

If you know what a backup is, you should know there are several types of backups :

  • A full backup is when you just copy all your files, hoping that the hard drive on the backup server will not explode after 3 backups.
  • An incremental backup consist in a base full backup, and the next backups are just "diffs" sent to the backup server, to keep track of modified files.

Obviously, a full backup is easier to read and to restore because it's just plain files, whereas an incremental backup has a specific file format to represent diffs. But considering the gain in speed, bandwidth, and disk space, your choice for a long-term backup solution should be the incremental backup.

The tools

Duplicity is an opensource software similar to rdiff-backup. It creates incremental backups. Duplicity can also encrypt your backups, so they can be safely sent to any remote disk provider. A classic setup for Duplicity would be using rsync as a backend to send files faster to the remote backup server, but you can also use a local drive, a remote FTP server, or an Amazon E3 cloud server. As the title says, I will be using rsync for that setup.

But what about databases ? Databases can't be saved by simply copying files, it could lead to corrupted and unusable data in your backups, so you would use a backup script to fetch your databases before sending it to Duplicity.

Good news : backupninja is the global solution you need. Backupninja is a sort of "backup-master" : it can fetch different type of data (files, databases...) from different sources and sent it to different destinations (plain backup, duplicity, etc). you just have to write a specific config file for each source !

We will use backupninja to fetch our databases, we will add these SQL archives to our files backup, send this to Duplicity backend, and finally send it to our backup server with rsync. And with just 3 config files (one by SQL type, one for Duplicity and rsync).

Let's go !

Lire la suite...

vendredi 5 décembre 2014

Drupal 7 : integrate a simple payment workflow with Payment module

Payment forms are common these days, and Drupal has already many out-of-the-box modules to implement a web shop.

But these modules are often very cumbersome, complicated, and not-so-easy to tweak for your own needs.

So, let’s (re)start from the beginning: let’s implement our own Payment form with Payment, and throw Ubercart, Commerce, and all his friends away.

Note that the use of Payment is compatible with Ubercart and Commerce, but please let me make it simpler.

Lire la suite...

lundi 10 novembre 2014

Drupal 7 : change page title on node form

Every rule has its exceptions, setting drupal_set_title directly on form_alter doesn’t work for node form title. To customize pages like “Add node”, or “Edit node” :

  • Make a module

  • Add a function to implement hook_form_alter

  • Add a form afterbuild in your hook_form_alter implementation: $form['#after_build'][] = '_my_callback_form_set_title'

  • In '_my_callback_form_set_title', use drupal_set_title to change the form title: drupal_set_title(...)

  • Update system table to have the weight of your module greater than Node module (on a default install, core modules are weighted 0, so set your module weight to 1).

  • Rebuild registry, clear caches.

samedi 19 juillet 2014

De la difficulté d'écrire un logiciel

Oui, oui, c'est joli... Mais sinon vous avez un vrai métier à côté ?

Source de l’image : monmacon.tumblr.com

Écrire un logiciel, construire une voiture, dessiner un pont, construire une maison, tracer une route, finalement ces métier relèvent de la compétence d’un ingénieur. Alors pourquoi en informatique on arrive à des retards records, qui vont jusqu’à l’abandon pur et simple du projet par le client, dans certains cas ?

Parce que justement, ingénieur en informatique, c’est pas un métier comme les autres. Explications.

Nota Bene : dans cet article, les allégories et paraboles douteuses seront mises en italique.

Lire la suite...

vendredi 18 juillet 2014

Pourquoi mon commentaire n'est pas publié ?

Pour mieux lutter contre le SPAM, j'ai modifié il y a quelques semaines le captcha à remplir pour publier un commentaire ou un rétrolien (commentaire sous forme d'article de blog). C'est à présent une question à laquelle il faut répondre courgette (sans guillemets ni majuscules).

Pour moi, cela a pour conséquence une réduction drastique du nombre de SPAM qui passaient à côté du précédent système (composé principalement d'un filtre bayésien). Mais pour vous, cela signifie que beaucoup plus de commentaires légitimes peuvent se retrouver bloqués, puisque les filtres sont mis en série. Je réalise des tests pour essayer de réduire le nombre de filtres, peut être ne garder que le principal, qui filtre la très grande majorité des commentaires.

Mais le but de cet article ce n'est pas de faire de l'autopromotion sur mon système antispam génial. Je me suis rendu compte, ayant à présent plus de temps pour trier les "bon" commentaires, que beaucoup de gens se trompent sur l'objectif du commentaire.

Si je laisse des commentaires ouvert, ce n'est pas pour que le commentaire que vous écrivez dirige les visiteurs vers votre site ou en fasse une quelconque promotion. Je sélectionne moi-même les blogs ou personnes que je trouve intéressant(e)s, et je les publie dans la barre à droite du blog. Tout commentaire n'apportant rien de concret au fond de l'article et contenant un lien vers un site externe, je ne peux pas le publier, car c'est pour moi une forme de publicité trop facile (vous remarquerez que la publicité est absente de ce blog depuis plusieurs années).

Votre avis et vos encouragements, même s'ils me font plaisir, je ne peux pas les publier s'ils contreviennent à la règle. Ne m'en voulez pas, je sais que vous avez pris du temps pour l'écrire et ça me va droit au cœur, mais comme je me refuse à modifier les commentaires, je ne peux pas non plus retirer le lien présent pour le publier quand même. Publiez-le sans lien, et il est possible que votre commentaire passe.

Il y a bien entendu une exception. Si vous publiez un commentaire contenant un lien, et que ce lien est le point de départ d'un enrichissement de l'article à partir du commentaire qui en est fait, alors il y a de très fortes chances qu'il soit publié. Mais beaucoup de gens confondent cet espace d'expression avec un tableau blanc sur lequel on peut faire sa propre promotion.

Je dois avouer qu'il y a quelques mois, j'ai pensé fermer les commentaires. Mais comme beaucoup de gens n'ont pas d'autres moyens de réagir à mes articles (je ne suis pas présent les réseaux sociaux publics), j'ai laissé les commentaires ouverts et installé le nouveau captcha. Il faut plutôt voir ça comme une chance, les commentaires publiés sont les plus intéressants, il n'y a aucun contenu parasite sur ce blog.

Une dernière chose à savoir : les commentaires sont modéré à priori. Votre commentaire, s'il passe les filtres, arrive dans une liste où je choisis lesquels je publie, ce n'est pas automatique. Soyez donc patient si vous avez publié un commentaire intéressant, ou alors utilisez le formulaire de contact du blog pour m'en informer.

- page 11 de 32 -