Rake: sauvegarde de base de donnée 2

Publié par Yannick Francois Mar 07 août 2007 11:24:00 GMT

La bricabox hébergent ce blog, lacomte de jean-mi ainsi que l’eternel teaser (ou le teaser eternel tout dépend du point de vue comme d’habitude) zlab tourne avec OpenBSD, LighTTPD et Ruby on Rails.

Après ce link dropping permettant de vous cadrer le sujet, je vais vous parlé de Rake. C’est un peu la make, la fourmi travailleuse de ruby. Bien intégré avec Rails, ce petit outil vous permet de réalisé des scripts divers et varié. Non pas forcement de la compilation, puisque non nécessaire en général avec ruby, mais on peut par exemple lancer les test unitaires, et dans notre cas faire un backup de la base de donnée.

Et oui, cette outils manquais sur la bricabox. Les sauvegardes était à la charge de chacun, et manuel (peu de problème cependant pour le teaser zlab ;-)).

Je me suis inspiré de ce que j’ai pu trouver ici et là sur la toile, mais mis à mon goût. 3 taches sont disponible dans ce Rakefile:

  • backup Executer un dump de la base mysql pointé par l’environnement rails (config/database.yml).
  • clean_backup Nettoyer la liste des fichiers de backup disponible. Dans le cas de la bricabox, nous avons opté pour une sauvegarde journalière avec rotation à la semaine. On ne garde donc sur l’emplacement prévu à cette effet que 7 fichiers de backup. Charge a nous d’en faire une copie ailleurs de temps à autres ;-).
  • mail Pas grand chose à voir avec le backup, mais j’en ai eu besoin. Peut-être il faudrais que je le sorte de là pour le mettre ailleurs… plus tard. Cette tache vas nous permettre d’envoyer un mail contenant les liens vers les fichiers de backup (pour un téléchargement en local si besoin/envie).

Pour exécuter une tache rake avec Rails, rien de plus simple. On se place dans le répertoire racine de l’application (ici typo huhu, il en manquais un dans le link dropping :-p). Puis on appel l’exécutable rake avec le nom de la tache à exécuter, ainsi que ces paramètres:

/usr/local/bin/rake db:backup DIR=/home/toto/backup RAILS_ENV=production

Les taches utilisent (enfin c’est conseillé) les espaces de noms de Ruby. Cela permet de ne pas trop ce mélanger les pinceaux.

namespace :db do 
  desc "Backup the database to a file. Options: DIR=base_dir RAILS_ENV=production" 
  task :backup => [:environment] do
(...)

Si vous souhaitez vous inspirer de ce que nous avons mis en place libre à vous (pas de licence, donc domaine public ;-)).

Le fichier backup.rake

au passage…

J’aime regardé du code (enfin quand il est beau hein). Oui je suis un voyeur, prenez moi pour un fou. Mais laissé moi vous montrer ici quelques lignes de ce fichier.

def all_backups
  dir = Dir.new(backup_folder)
  dir.entries.select{|e| e =~ /^#{RAILS_ENV}_dump_(.*)$/}.sort.reverse
end

Certain l’aurons compris, il s’agit de filtrer la liste des fichiers d’un répertoire pour ne récupérer que ceux qu’il nous faut.

Les regexp c’est beau, et j’ai encore tant à apprendre pour m’en servir au mieux. Ruby c’est beau, et j’ai encore tant à apprendre pour m’en servir au mieux.

c’est le refrain d’un futur teaser vocal :-p

La tache mail mérite sûrement d’être reprise, amélioré, intégrer au système de notification contenu dans Typo. Mais pour le moment ça marche comme ça

Et non je ne suis pas en vacance. Je n’avais rien a poster, c’est tout :-p

self.change.style (again) 2

Publié par Yannick Francois Dim 01 juil 2007 13:37:00 GMT

Suite au gentil commentaire de jean-mi j’ai prit un peu de recule sur le choix du theme que j’ai effectué.

effectivement ce bleu change, mais ce bleu est un peu criard aussi… Et rappel un certain écran de la mort qui tue :p

Du coup, et pour quelque jour, je vais essayer ce theme un peu plus minimaliste :)

self.change_style 3

Publié par Yannick Francois Ven 29 juin 2007 12:32:00 GMT

Comme vous pouvez le voir, j’ai changé de thèmes. Et non ce n’est toujours pas un thèmes fait avec mes petites mimines. Manque de temps et/ou d’idée. Mais ça viendra.

J’ai listé les thèmes de Typo sur le belle outil nomé Typo Thèmes viewer et c’est un thème de Daniele Meschiari qui a retenu mon attention: Kumbha .

Y’a un petit peu de ce que je souhaiterais faire si j’arrive à me lancer, du coup je pourrais partir de celui-ci, ça sera plus rapide.

Enfin, jusqu’au jour où je vais tomber sur LE thème que je veux faire, fait par un autre :-p

Interview

Publié par Yannick Francois Mer 10 jan 2007 09:20:00 GMT

Non non pas de moi, mais de Christophe Porteneuve est directeur de spécialisation SIGL à l’INSIA, c’est également un adorateur de Ruby on Rails. Comment lui reprocher quelque chose en voyant ça, quelqu’un qui fait du Ruby ne peut être mauvais, même si c’est via Ruby on Rails ;-). Cependant, j’ai découvert ce matin une interview de lui sur le JDN dont le titre ma fait tiqué:

Le couple JavaScript/Ajax est une alternative souvent viable à ActionScript

Le couple javascript/ajax ... Heu, AJAX ça ne signifie pas Asynchronous Javascript And Xml ? mince alors, on m’aurais menti ? Cependant je comprend, Ajax seul, ce n’est pas grand chose finalement, juste un mode de communication avec le serveur, il faut ajouter du javascript pour permettre une bonne utilisation d’une communication de type Ajax (notamment pour le traitement de la réponse).

Par contre pour ce qui est de l’alternative, je suis d’accord, bien que je pense qu’ActionScript ne serve aujourd’hui pas tout à fait au même chose qu’Ajax.

Bref, c’est une interview longue mais interessante, à lire donc.

Aller aller, on ne se laisse pas aller, on repart sur la nouvelle année, au taquet :D

RubyFrance cherche son logo

Publié par Yannick Francois Mar 05 déc 2006 14:19:00 GMT

Oui je suis super à la bourre, mais bon, mieux vaut tard que jamais :p Surtout que les délais ne sont pas dépassé.

L’association RubyFrance cherche son identité visuelle. Se voulant être le groupe des utilisateurs francophone du langage de programmation Ruby, utilisé, entre autres, par le framework qui monte qui monte RubyOnRails, le logo doit contenir un line fort avec le ruby de ruby ;). Mais les touches personnel sont justement rechercher pour démarqué un peu l’asso et qu’elle soit reconnaissable facilement, bref une marque de fabrique quoi, un logo :D

N’étant pas des graphistes très doué (vous devriez voir les rubis que je dessine huhu), nous lançons un appel à propositions :) quelqu’une sont déjà arrivé, y’a des trucs vraiment sympa. Qui à dit que les graphistes n’était pas intéressé par l’univers libre ?

Toute les informations sur le site de l’association RubyFrance [RubyFrance.org]

Billets précédents: 1 2 3 4