Script: Sauvegarde d’un site internet avec Wget

avril 29th, 2011

Wget est un outil permettant de récupérer des fichiers en ligne de commande et via les protocoles Http ou Ftp. Ses options très complètes (proxy, horodatage, reprise de téléchargement...) en font une solution idéale pour automatiser la sauvegarde d'un site internet hébergé sur un serveur mutualisé.

Installé par défaut sur la plupart des distributions Linux, Wget est également disponible pour Windows.
Manuel Wget
Wget pour Windows

I - Sauvegarde des fichiers hébergés
La commande suivante effectue une synchronisation (mode miroir) des fichiers distants en ne téléchargeant que les fichiers nécessaire selon leur horodatage. Le protocole utilisé est Ftp en mode passif.
wget --mirror --passive-ftp --ftp-user=user --ftp-password="mdp" -P chemin-répertoire "ftp://site/*"

II - Sauvegarde de la base de données
Dans le cadre d'un hébergement mutualisé il est rare de disposer d'un accès distant à la base. A défaut de pouvoir effectuer des requêtes SQL distantes, il faudra passer par un script Php afin qu'elle s’exécutent localement. Wget permettant l'authentification Http, l’accès à ce script sera protégé par mot de passe.

- Créer un répertoire db-dump à la racine du serveur. Celui-ci accueillera le script et les dumps SQL.
- Créer le script dump.php avec le code suivant (source)
- Protéger le répertoire db-dump en y créant les fichiers .htaccess et .htpasswd:

1 - Le fichier .htaccess
:
AuthType Basic
AuthName "Accès Privé"
AuthUserFile /home/mon-site/db-dump/.htpasswd #(voir cette note pour obtenir le chemin absolu)
Require valid-user

2 - Le fichier .htpasswd:
Sous Linux, il est possible de créer ce fichier de mot de passe via la commande suivante:
htpasswd -c .htpasswd identifiant
Sous Windows, on utilisera éventuellement un générateur en-ligne.

Il suffit ensuite de planifier l’exécution des commandes suivantes:
wget --http-user=identifiant --http-password=mdp http://www.site.fr/dbdump/dump.php -P /dev/null
#1 Lance l'export de la base en exécutant dump.php

wget --ftp-user=user --ftp-password="mdp" "ftp://www.site.fr/db-dump/*"
#2 Récupère l'export SQL précédemment généré



Notes Connexes:

Catégories: Notes | Mots-clefs :, , , | Commentaires fermés

Script Bash: Sauvegarder la configuration d’un serveur sous Linux

mars 10th, 2011

Un serveur en production est souvent le fruit de beaucoup de temps d'installation et de paramétrage. Il est donc de rigueur d'effectuer des sauvegardes, cela en vue d'être réactif en cas de panne ou de corruption du serveur. En environnements virtualisés, ces opérations sont grandement facilitées, mais l'hôte matériel n'en est que plus critique. Des solutions telles que le "clustering" ou le RAID de disque sont à envisager, mais s'avèreront parfois inappropriées, insuffisantes ou trop couteuses. Dans ce cas, couplée à une image de disque, une sauvegarde de configuration régulière reste un solution viable et légère.

Logiciels libres de clonage:
PING (Partimage Is Not Ghost)
g4u (Ghosting for Unix)

Sous Linux, la casi totalité des paramétrages du système et des programmes sont localisés dans le répertoire /etc. Il est donc aisé d'écrire un script qui récupère tous les paramétrages du serveur.

Un simple script de sauvegarde inspiré de la documentation Ubuntu Server.

#!/bin/sh

# Cibles des sauvegardes:
backup_files="/etc /boot /opt"

# Destination des sauvegardes:
dest="/mnt/backup"

# Variables de nommage de l'archive (hôte-date.tgz):
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

# Récupération et archivage des données:
tar czf $dest/$archive_file $backup_files

Plus élaboré, getconfig.sh est un script proposé par NETIKUS (l'éditeur de EventSentry). Il est écrit pour sauvegarder et lister tous les paramètrages d'un serveur basé sur RedHat ou Solaris.

Pour les noyau 2.4 et supérieur, Ipchains n'est plus utilisé. Il faudra donc désactiver la ligne 68 ainsi que celles de 71 à 76.

Pour une distribution basée sur Debian, il faudra modifier la ligne 144 pour utiliser dpkg au lieu de rpm
Remplacer rpm -qa | sort >> $CONFIG_FILE
Par dpkg --get-selections | sort >> $CONFIG_FILE

Notes Connexes:

Catégories: Notes | Mots-clefs :, , | Commentaires fermés

Evernote: Synchroniser ses notes sur un serveur privé

novembre 1st, 2010

Evernote est une solution de centralisation de notes. Elle se compose d'un logiciel de gestion des notes et d'un service d'hébergement pour les centraliser. Porté sur la plupart des systèmes, le logiciel est efficace et agréable à utiliser. En revanche, le fait que les notes (potentiellement personnelles ou professionnelles) puissent être stockées sur le "nuage" pourra provoquer la réticence de certains (Politique de sécurité Evernote). Ceux qui n'utilisent que la version Windows de Evernote ont cependant la possibilité, moyennant quelque bidouillage, de bloquer les synchronisations vers les serveurs Evernote, et de centraliser les données sur un serveur personnel.

La méthode ici présentée nécessite l'accessibilité à partage (NetBIOS/Smb) pour y placer la base de données. Chaque client Evernote du réseau utilise donc la même base (initialement locale) pour lire ou écrire les notes. Aucun problème de verrouillage n'a été rencontré lors des tests, et cela même lors d'écritures simultanées dans la base.

I Bloquer les synchronisations vers les serveurs officiels:
Outils -> Options -> Synchronisation: Décocher "Synchroniser automatiquement"

Pour plus de sécurité, modifier la valeur "SyncServiceUrl" dans le registre.
[HKEY_CURRENT_USER\Software\Evernote\Evernote\] --> "SyncServiceUrl"="127.0.0.1"

II Définir l'emplacement de la base de données:
Depuis Evernote, le paramétrage de l'emplacement de la base est limité aux chemins locaux. Il est en revanche possible de définir un emplacement réseau en éditant la clé de registre correspondante.

[HKEY_CURRENT_USER\Software\Evernote\Evernote\] --> "EvernotePath"="\\serveur\partage"

Notes Connexes:

Catégories: Procédures | Mots-clefs : | Commentaires fermés

Rapatrier des mails sur un serveur local avec GetMail

mai 12th, 2010

GetMail est un outil sous Linux permettant de récupérer en local les mails d'un serveur distant. Il utilise pour cela les protocoles POP3 ou IMAP4 et supporte les connexions sécurisées SSL. Les mails récupérés pourront être redirigés vers un système de filtrage tel que Procmail ou être directement stockées aux formats Mbox et Maildir. Plus simple et plus léger que sont homologue Fetchmail, Getmail permettra d'effectuer des transfert vers un serveur mail local comme Postfix et Exim, ou tout simplement de sauvegarder des comptes distants.

Site Officiel / Documentation
Téléchargement

I- Installation:
Décompacter l'archive et exécuter "setup.py" depuis le répertoire extrait.
tar xzf
getmail-4.17.0.tar.gz
cd getmail-4.17.0
python setup.py install

Consulter la documentation pour une installation plus personnalisée.

II- Configuration:
La configuration standard se fait par le biais d'un fichier de configuration placé dans le "home" de chaque utilisateur utilisant Getmail. Il est cependant possible de créer des configurations nominatives et de lancer les transferts depuis un compte d'administration (voir documentation pour plus d'informations).

Créer le répertoire .getmail dans le home de l'utilisateur:
mkdir -m 0700 $HOME/.getmail

Créer le fichier getmailrc de la manière suivante dans le répertoire précédemment créé:
vi $HOME/.getmail/getmailrc

L'exemple suivant correspond à la configuration pour un compte Gmail. Le protocole POP3 en SSL semble poser problème, la moitié seulement du contenu ayant été récupéré lors de mes tests (>1000 mails). Il est donc préférable d'utiliser le protocole IMAP avec les comptes Gmail.

--------------------  getmailrc  ------------------------
[retriever]
type = SimpleIMAPSSLRetriever
port = 993
server = imap.gmail.com
username = [email protected]
password =xxx

[destination]
type = Maildir
path = ~/Maildir/

[options]
verbose = 0
read_all = false
delete = false
delete_after = 0
message_log = ~/.getmail/log
----------------------------------------------------------

Détail des paramètres:
Retriever Type : Protocole de réception (SimplePOP3Retriever / SimpleIMAPRetriever / SimplePOP3SSLRetriever / SimpleIMAPSSLRetriever)
Port : Port d'écoute du serveur distant ( POP 110 / IMAP 143 / POP3S 995)
Server : Consulter la liste des adresse des principaux FAI
Username : Identifiants
Password : Mot de passe
Destination Type : Format de destination (Maildir / Mboxrd)
Path : Chemin de destination (~/Maildir/ pour Maildir, ~/inbox pour Mbox)
Verbose : Niveau de verbosité (de 0 a 2)
Read all : (1) Récupérer l'intégralité (0) Récupérer les nouveaux messages uniquement
Delete : Supprimer les messages après récupération (True/False)
Delete after : Supprimer au bout de X jours (0 - Désactivé)
Message log : Destination des fichiers de log

! La Récupération sur un compte Gmail en POP3 par SSL semble ne pas fonctionner convenablement,

III- Utilisation:
La récupération des mails s'effectue par l'exécution de la commande getmail sous le compte de l'utilisateur concerné.

Automatisation de la tâche par Crontab:
Éditerle fichier /etc/crontab et rajouter la ligne suivante:
*/10 7-21 * * * utilisateur getmail &> /dev/null
--> Récupération des mails toutes les 10 minutes de 7 h a 21 h

Notes Connexes:

Catégories: Procédures | Mots-clefs :, , , , | Commentaires fermés

Sauvegarder et synchroniser ses marques-pages avec SyncPlaces

novembre 26th, 2009

Nos marques-pages constituent une donnée importante que nous souhaitons conserver et utiliser depuis des poste différents. Plusieurs solutions sont offertes, mais seul SyncPlaces permet le stockage des données sur son serveur personnel, les autres comme le fameux Xmarks proposant uniquement leur service d'hébergement.
SyncPlaces se présente sous la forme d'un module complémentaire pour Firefox. Il permettra la sauvegarde sécurisé des marque-pages et mots de passe, ainsi que leur synchronisation entres divers postes. Il nous faudra donc disposer d'un petit serveur FTP ou WebDAV afin d'y stocker les données qui pourront être préalablement compressées et chiffrées. Riche en options, SyncPlaces offrira entre autre plusieurs modes de fusion des marque-pages, une automatisation des taches de synchronisation, et la possibilité d'injecter des balises XML dans un fichier XBEL a des fins de mise en page.

Caractéristiques et fonctionnalitées :
Formats imports/exports : JSON, XBEL, HTML
Chiffrage des données : AES/TEA 256 bits
Protocoles d'accés : FTP, WebDAV
Compression des données : Gzip

Site Officiel
Téléchargement

 

 

 

 

 

Notes Connexes:

Catégories: Notes | Mots-clefs :, , , | Commentaires fermés