Effraie@blog

Le travail lui-même est nuisible et funeste non seulement dans les conditions présentes, mais en général, dans la mesure où son but est le simple accroissement de la richesse.

Karl Marx

RSS | Photos | Stats | Admin | Clef GPG | Contact

mardi 05 février 2008

Nouveautés sur le serveur

Un peu de vrac ne faisant pas de mal (sauf à Skateinmars, qui perd son monopole), ce billet sans liant mais avec des liens ne sert qu'à vous annoncer quelques nouveautés sur le serveur:

  • Un nouveau blog consacré à la photo nous rejoins (c'est que ça va devenir une spécialité!): Les feuillets photographiques, (l'ami est linuxien/libriste aussi, par ailleurs)
  • J'héberge depuis peu une liste, pour les éditions Syllepse, qui compte prés de 20 000 abonnés... d'un coup, on change d'échelle, et il va falloir que je sois attentif à mes logs Postfix, et sans doute aussi que j'optimise la configuration assez vite, si je ne veux pas flirter trop souvent avec des loads astronomiques... à suivre.
  • Je sais désormais héberger des dépôts Subversion, mis en œuvre au départ pour http://u-classroom.net/, mais que vous pouvez réclamer maintenant pour vos sites et vos projets.
  • Je me suis décidé à utiliser gallery 2 pour présenter les photos dont je juge qu'elle n'ont pas leur place sur le photoblog, ou bien qu'elle gagne à être présentées en séries. Gallery 2, c'est assez lourd, comme logiciel, mais... c'est super bien intégré avec f-spot, qui me sert de gestionnaire de photos, et ça fait tout ce que je veux, notamment la gestion des différents niveaux de droits sur différents albums photos... voyez donc ça ici.



Voila voila, c'est tout, je crois..., ah, une image pour la route:

2008_02_02_16_58_12-DSC_5674-1.jpg

samedi 08 décembre 2007

Sauvegardes extensives

Effraie.org héberge pas mal de sites, et la question des sauvegardes est devenue cruciale.
Bien sur, je pourrais renvoyer les utilisateur-ices à leur responsabilités, et leur demander de faire leurs propres sauvegardes. Cela dit, rien ne dit qu'elles/ils les fassent régulièrement, ni qu'ils sachent comment sauvegarder une base de données.

Je me suis donc penché sur la question, et j'ai amélioré mon rsync quotidien pour obtenir un système qui me convient mieux,

Pour assurer que les données seront à l'abri en cas de crash des disques durs internes, mon répertoire backups/ est situé sur un disque usb externe. Prochainement, je cherche également à automatiser une sauvegarde de ce répertoire sur un serveur distant

Sauvegardes des bases de données

J'utilise, suivant les conseils avisé d'un copain, le script autoMYSQLBackup.sh qu'on trouve ici. Après configuration de quelques variables, le script est opérationnel, et il ne vous reste qu'a le lier dans /etc/cron.daily/ pour obtenir une sauvegarde automatisée de chacune de vos bases. Le script conserve les backups des derniers 7 jours, une par semaine pendant un mois, et une par mois indéfiniment.
Au final, cela me permet de conserver une trace des données sur le long terme, sans pour autant user une espace disque démesuré, dans backups/sql.

Sauvegardes des données:

Pendant longtemps, je me suis contenté d'utiliser rsync pour sauvegarder les données du serveur. Cependant, je souhaitais bénéficier, comme pour les bases de données, de la possibilité de restaurer une sauvegarde plus ancienne. Pour cela, j'ai utilisé des outils standards, rsync, cp, rm, date, find et crontab.

Le fonctionnement est simple:

sauvegarde principale:

Chaque nuit, à 2h30, je sauvegarde l'ensemble des données que je veux pouvoir restaurer dans un répertoire backups/main, avec le "mini script" suivant, qui synchronise la racine du serveur avec ma sauvegarde:

#!/bin/sh
rsync -azh  --exclude=/pattern/à/ne/pas/sauver --exclude=/dev --exclude=/proc --exclude=/tmp --exclude=/sys   --delete-after --delete-excluded --stats / /chemin/vers/backups/main



et cette ligne dans la crontab de root:

30 02  *  *  * /chemin/vers/le/script/main_backup 2>&1 | mail votre@email.tld -s "[Rsync] rapport du `date +%A\ %d\ %B\ %Y`"



Je reçois ainsi chaque jour un rapport statistique sur la synchronisation, de cette forme:


Number of files: 208552
Number of files transferred: 1038
Total file size: 8.23G bytes
Total transferred file size: 354.84M bytes
Literal data: 354.86M bytes
Matched data: 0 bytes
File list size: 6230145
File list generation time: 98.647 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 70.71M
Total bytes received: 24.00K

sent 70.71M bytes  received 24.00K bytes  344.18K bytes/sec
total size is 8.23G  speedup is 116.42



En cas de problème, le mail contient la sortie d'erreur de la commande.

Journalisation des sauvegardes

Pour pouvoir restaurer des sauvegardes plus anciennes, ou des fichiers effacés il y a plusieurs jours sur le serveur (et donc absent de backups/main), j'utilise trois petits scripts simplistes, qui, associés à une ligne adéquate dans la crontab de root, me permettent de conserver l'ensemble des sauvegardes des 7 derniers jours, une sauvegarde par semaine pendant un mois, et une sauvegarde par mois pendant 6 mois.

attention.png Note ajoutée à la suite de quiproquo dans les commentaires
Le systéme de journalisation/rotation des backups utilise l'option -l de cp, pour créer des hardlinks au lieu de recopier les fichiers, dans tt les cas ou le fichier n'a pas été modifié. C'est le moyen de n'utiliser que l'espace disque minimum requis. Compresser les données dans une archive ferait perdre cet avantage, et utiliserait, finalement, plus d'espace disque.



Voici les scripts et les entrées dans la crontab qui vont avec:

daily_backup

le script:

#!/bin/sh
find /chemin/vers/backups/timed/daily/* -ctime +7 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /chemin/vers/backups/timed/daily/`date +%F` 2> /dev/null;



L'entrée dans la crontab:

30 03  *  *  * /home/effraie/scripts/daily_backup



weekly_backup

le script:

#!/bin/sh
find /chemin/vers/backups/timed/weekly/* -ctime +33 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /chemin/vers/backups/timed/weekly/`date +%U_%F` 2> /dev/null;



L'entrée dans la crontab:

40 03  *  *  0 /home/effraie/scripts/weekly_backup



monthly_backup

Le script:

#!/bin/sh
find /chemin/vers/backups/timed/monthly/* -ctime +183 -exec rm -rf {} \;
cp -al /chemin/vers/backups/main /mnt/usb-data/backups/timed/monthly/`date +%m-%Y` 2> /dev/null;



L'entrée dans la crontab:

50 03  1  *  * /home/effraie/scripts/monthly_backup



Avec ça, je pense être habillé pour l'hiver! Cela dit, toute suggestion d'amélioration est la bienvenue.

jeudi 06 décembre 2007

Du nouveau sur le serveur

Pas mal de nouveauté aà vous annoncer, et surtout, c'est le moment pour vous, gentilLEs hébérgéEs, de devenir actif dans le projet effraie.org! Jugez plutôt:

  • Je viens de mettre en place un wiki pour rédiger de la documentation. J'ai en tête qu'on devrait y mettre toutes les infos qui permettent de gérer son compte sur le serveur, mais aussi toutes les astuces que vous souhaitez partager avec les autres: comment installer tel ou tel script, CMS..., comment gérer sa mailing-liste, tout ce que vous voulez, en fait. Si par le plus grand des hasard, ce wiki prennait un peu d'ampleur, il faudrait veiller à sa bonne organisation. Rendez-vous ici (http://doc.effraie.org/) pour contribuer,
  • J'ai aussi mis en place un Bugtracker (flyspray, inspiré par sp4rky). Il vise, en plus de me servir de to-do liste pour ce qui concerne le serveur, à vous permettre d'y rapporter tout les dysfonctionnements, demandes de fonctionnalitées, et autres trucs que vous pourriez avoir à noter concernant le serveur. N'hésitez surtout pas à vous en servir, ce n'en sera que plus simple pour moi! c'est ici (http://bugs.effraie.org/),
  • Pour les curieux, vous trouverez ici (http://effraie.org/munin/) une représentation graphique de l'activité du serveur,
  • Je suis en train de mettre en place une politique de sauvegardes améliorés de vos données, qui devrait permettre de retrouvez une version d'un fichier datant de chaque jour de la semaine passées, de chaque semaine du mois écoulé, et de chaque mois du semestre précédent. Je vous tiendrais au courant plus en détails (avec les scripts & les explications) dés que j'aurais confirmation que tout ça fonctionne. C'est basé sur rsync et le système des hardlinks, et cron, comme de juste.

Voila voila... par ailleurs, je viens d'écrire au RHIEN, ça à l'air assez top comme projet!

samedi 01 décembre 2007

Internet, le retour: effraie.org est up!

Après prés de 3 semaine d'absence, ma connexion est de retour... et le serveur avec!

Bien sur, ces trois semaines ont fait un peu mal au services que je fournis... et ça m'apprendra a configurer, par exemple, un MX2 pour mon serveur de mail. Cela dit, d'un point de vue statistique, ce genre de panne est nécessairement rarissime et imprévisible: Lors de travaux dans la cave de mon immeuble, dont je n'ai eu connaissance que récemment, un ouvrier à mis un coup de pioche involontaire, et sans s'en apercevoir, au câble qui me relis au réseau de téléphone...

Demain, je vais faire le tour des dégâts occasionnés (peut-être quelques mails mail perdus, probablement rien de bien méchant d'un point de vue technique) et esayé d'avancer sur une solution de redondance complète... (pas forcément simple a mettre en œuvre à mon échelle) qui puisse pallier a ce genre de défaillance externe.

Les affaires reprennent!

mardi 30 octobre 2007

Configurer Thunderbird pour l'IMAPs sur effraie.org

Ce billet ne concerne qu'une infime minorité de mes lecteurs, mais pour eux, ce sera sans doute bien pratique. Je le fais en image, j'ai la flemme d'écrire...

  • On commence par créer un nouveau compte:

1-1.png

Facile, jusque là!

  • À l'écran "information sur le serveur:

1-2.png

On choisit de récupérer ses mail en IMAP (qui permet de synchroniser ses mail entre sa (ou ses) machine(s) et le serveur de mail, plus d'info chez wikipedia ) et on prends garde d'indiquer le serveur imaps.effraie.org
Le serveur SMTP, je songe bien a en installer un... mais bon, c'est pas forcément le plus simple a mettre en place du point de vue de la sécurité.... en général, on utilise celui fournit par son FAI. Par exemple, pour free, c'est : smtp.free.fr

  • L'écran de login:

1-3.png

rien de bien compliqué: le début de votre adresse email, sans @effraie.org

C'est tout pour la création du compte. Cependant, votre boite mail ne marche pas encore. Pour cela, il va falloir faire un petit tour dans la configuration du compte.

Cliquez sur Édition > paramètres des comptes
On choisit l'item paramètres du serveur, et voici l'écran qu'on obtient:

2-1.png

On choisit la checkbox SSL pour sécuriser la connexion, le port 993 doit se mettre automatiquement (sinon, faite le à la main)

C'est tout, vous devruez désormais pouvoir vous connecter de façon sécurisée au serveur de mail.

Parfois, ces deux écrans peuvent venir vous ennuyer:

3-1.png)

acceptez définitivement le certificat

4-1.png

Cliquez sur OK

Enjoy ;)

- page 3 de 7 -