GNU – Linux

Utiliser rsync sur ssh pour copier-synchroniser des données

Rsync over sshL’utilisation de rsync permet de gagner du temps et d’économiser de la bande passante en ne transférant que les éléments modifiés d’un dossier à l’autre.

Rsync, comme la commande tar (tape archive), permet de conserver les attributs sur les fichiers et donc, assure une réplication parfaite d’un dossier vers un autre, ou encore d’un serveur vers un autre.

Rsync peut être utilisé en local, d’un dossier à un autre, pour copier des fichiers, ou à distance avec un serveur rsync (rsyncd) sur lequel on s’authentifie pour effectuer la synchronisation (par défaut sur le port 873).

Dans le cas présent, on va utiliser RSYNC sur SSH, qui présente l’avantage d’utiliser un service installé souvent par défaut (souvent), et ne demande pas de configuration autre que l’utilisation du SSH en place.

Nous avons donc une machine1 et une machine2 toutes 2 sous GNU/Linux avec SSH installé, et ssh en demon sur la machine2 (sshd – openssh-server).

On veut donc copier/synchroniser depuis machine1 notre dossier /home/mondossierlocal sur machine2 dans /home/mondossier également :
[bash]rsync -avze ssh /home/mondossierlocal/ root@machine2:/home/mondossier/[/bash]

On peut effectuer la même opération dans l’autre sens, synchroniser /home/mondossier de machine2, vers /home/mondossierlocal de la façon suivante :
[bash]rsync -avze ssh root@machine2:/home/mondossier/ /home/mondossierlocal/[/bash]

Note : ne pas oublier les / (slash) en fin de ligne, sinon la synchronisation ne s’effectuera pas au bon endroit !

On a l’avantage ici de pouvoir utiliser rsync pour la synchronisation distante de fichiers, dans un lien sécurisé, alors que le protocole rsync n’est lui pas crypté. On peut donc se passer d’un VPN dans ce cas.

Sources :
http://oreilly.com/pub/h/38
http://troy.jdmz.net/rsync/index.html
https://help.ubuntu.com/community/rsync
http://www.cyberciti.biz/tips/linux-use-rsync-transfer-mirror-files-directories.html

Loading

Tags: , , , , ,

lundi, novembre 1st, 2010 Bash, GNU - Linux, Reseau, Technologie Aucun commentaire

Utiliser tar sur ssh pour dupliquer des données (redirection tar sur ssh)

Utiliser tar sur ssh pour dupliquer des données (redirection tar sur ssh)

Voici un simple petit mémo pour l’utilisation de tar au travers de SSH.

L’idée est simple : utiliser la commande TAR pour répliquer un dossier d’une machine linux vers une autre.

L’intérêt est le maintient des attributs des fichiers et dossiers, en effectuant une copie à distance via un canal sécurisé.

Dans une console, il suffit de taper la commande suivante :

[bash]tar -cf – /mon_dossier_1 /dossier/dossier_2 | ssh -2 user@votre-serveur.com tar -xf – -C /dossier_de_destination/sur_serveur_distant/[/bash]

Ici, la commande va reproduire les dossiers « /mon_dossier_1 » et « /dossier/dossier_2 » dans le dossier « /dossier_de_destination/sur_serveur_distant/ » sur le serveur qui reçoit les données. Le -2 permet de forcer l’utilisation de SSH en version 2 qui est bien plus sécurisé que ssh 1.

C’est très intéressant pour copier un dossier home d’un utilisateur par exemple. Dans le cas ou vous utilisez une authentification basée sur clés SSH, vous n’aurez même pas de mot de passe à saisir.

Loading

Tags: , , , ,

lundi, novembre 1st, 2010 Bash, GNU - Linux, Reseau Aucun commentaire

cmsms – pretty_urls, url rewriting, htacess et sous dossier

logo cmsms Lors de la mise en place d’un site basé sur CMSMS, vous pouvez être amené à installer le CMS dans un sous dossier, par exemple : http://www.domaine.tld/cmsms/.

Hors, dans ce cas de figure, la configuration des « Pretty-URLs » comme indiqué ici :
http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s
ne fonctionnera pas.

En effet, le système va considérer que le site est systématiquement à la racine du domaine. Dans le cas présent, en mettant en place les « Pretty_URLs » comme indiqué dans le fichier de configuration, j’ai créé un fichier .htaccess comme recommandé pour utiliser les noms de page avec .htm :
[perl] Options +FollowSymLinks
RewriteEngine on
RewriteBase /

# 301 Redirect all requests that don’t contain a dot or trailing slash to
# include a trailing slash
# except for form POSTS
# RewriteCond %{REQUEST_URI} !/$
# RewriteCond %{REQUEST_URI} !\.
# RewriteCond %{REQUEST_METHOD} !POST$
# RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).htm$ index.php?page=$1 [QSA] [/perl]

Hors, dès l’activation, mes pages revenaient en erreur. Pour corriger ceci, il faut modifier la dernière règle de rewriting en y incluant l’emplacement dans lequel vous avez installé cmsms. Si par exemple vous etes dans ce cas de figure « http://www.domaine.tld/cmsms/ », votre fichier .htaccess devra être modifié comme suit (voir la dernière ligne) :
[perl] Options +FollowSymLinks
RewriteEngine on
RewriteBase /

# 301 Redirect all requests that don’t contain a dot or trailing slash to
# include a trailing slash
# except for form POSTS
# RewriteCond %{REQUEST_URI} !/$
# RewriteCond %{REQUEST_URI} !\.
# RewriteCond %{REQUEST_METHOD} !POST$
# RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1 [S=1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).htm$ /cmsms/index.php?page=$1 [QSA][/perl]

Le problème sera ainsi résolu et vous disposerez des « Pretty-URLs » basée sur l’URL rewriting, qui peuvent optimiser le référencement de votre site.

Loading

Tags: , , , ,

mercredi, octobre 27th, 2010 GNU - Linux, Technologie Un commentaire