NOM
sitecopy - Maintient à jour des copies distantes de sites webSYNOPSIS
sitecopy [options] [mode opératoire] nomdusite ...DESCRIPTION
sitecopy sert à copier des sites web stockés localement vers des serveurs web distants. Une simple commande va mettre à jour sur le serveur les fichiers modifiés localement, et supprimer du serveur les fichiers supprimés localement, maintenant ainsi le site distant à jour avec le site local. L'objectif est de supprimer l'étape très pénible de mise à jour et de suppression de fichiers individuels avec un client FTP. sitecopy peut également repérer les fichiers que vous avez déplacés localement pour les déplacer sur le site distant.POUR COMMENCER
Cette section explique comment mettre en place la maintenance d'un site web à l'aide de sitecopy. Après avoir présenté les rudiments, on examinera deux situations : d'abord celle où vous avez déjà placé votre site sur le serveur distant, puis celle où vous ne l'avez pas encore fait.Rudiments
Si vous ne l'avez pas déjà fait, il vous faut créer un fichier de configuration qui contiendra les informations relatives aux sites que vous désirer administrer. Vous devez également créer un répertoire dans lequel sitecopy stockera l'état des fichiers de chacun des sites distants. Le fichier de configuration ainsi que le répertoire de stockage de l'état des fichiers doivent n'être accessibles que par vous-même -- sans quoi sitecopy refusera de démarrer. Pour créer le répertoire de stockage avec les permissions adéquates, utilisez la commandeSi le site distant existe déjà
Si vous aviez déjà placé votre site sur le serveur distant, assurez-vous que vos fichiers locaux soient synchronisés avec les fichiers distants. Ensuite, lancezSi le site distant n'existe pas encore
Assurez-vous que l'administrateur ait bien créé la racine du site distant. TapezMaintenance du site
Après avoir mis en place le site comme décrit dans une des deux sections ci-dessus, vous pouvez commencer à éditer vos fichiers locaux normalement. Lorsque vous en avez fini avec un ensemble de changements, et que vous voulez mettre à jour la copie distante de votre site, tapezProblèmes de synchronisation
Dans certaines circonstances, les fichiers qui constituent réellement le site distant diffèrent de ce que sitecopy pense qu'il y a sur le site. Cela peut arriver, par exemple, si la connexion au serveur est interrompue durant une mise à jour. Dans cette situation, vous devriez utiliser le mode récupération pour retrouver du serveur distant la liste des fichier qui constitue le site.INVOCATION
Pour une opération normale, spécifiez un simple mode opératoire, suivi par les options que vous avez choisies, puis un ou plusieurs nom de sites. Par exemple,MODES OPÉRATOIRES
- -l, --list
- Mode Liste - produit une liste de toutes les différences entre les fichiers locaux et leur copie distante pour les sites spécifiés.
- -ll, --flatlist
- Mode Liste plate - similaire au mode liste, mais la sortie produite convient à une analyse ultérieure par un script externe ou un programme. Le script AWK fourni, changes.awk. produit par exemple une page HTML depuis une sortie produite par ce mode.
- -u, --update
- Mode Mise à jour - Met à jour la copie distante des sites spécifiés.
- -f, --fetch
- Mode Récupération - Récupère la liste des fichiers du serveur distant. Notez qu'en FTP le support de ce mode est limité -- le serveur doit accepter la commande MDTM , et utiliser un programme « ls » de type Unix comme implémentation de la commande LIST.
- -s, --synchronize
- Mode Synchronisation - Met à jour la copie locale du site à partir de la copie distante. AVERTISSEMENT : Ce mode écrase les fichiers locaux. À utiliser avec précaution.
- -i, --initialize
- Mode Initialisation - initialise les sites spécifiés, sitecopy pensant alors qu'il n'y a AUCUN fichier sur le serveur distant.
- -c, --catchup
- Mode Rendre identique - amène sitecopy à penser que les copies locale et distante du site sont identiques.
- -e, --verify
- Vérifier que l'état enregistré du site est conforme à l'état réel du site distant
- -v, --view
- Mode Voir configuration - Affiche toutes les définitions de sites du fichier de configuration.
- -h, --help
- Affiche un message d'aide.
- -V, --version
- Affiche le numéro de version.
OPTIONS
- -y, --prompting
- Valable seulement pour le Mode Mise à jour , demande à l'utilisateur de confirmer chaque mise à jour (i.e., création d'un répertoire, remontée d'un fichier sur le site distant, etc.).
- -g, --logfile=FICHIER
- Ajouter les messages de débogage au FICHIER (stderr est utilisée si cette option n'est pas indiquée)
- -x, --create-remote
- Créer la racine du site distant
- -n, --dry-run
- Afficher ce qui serait réalisé sans effectuer réellement l'action
- -r FICHIER, --rcfile=FICHIER
- Spécifie un fichier de configuration alternatif pour l'exécution en cours.
- -p RÉPERTOIRE, --storepath=RÉPERTOIRE
- Spécifie un chemin d'accès alternatif au répertoire contenant les informations sur les fichiers du site distant, pour l'exécution en cours.
- -q, --quiet
- Sortie discrète - n'affiche que le nom du fichier pour chaque mise à jour effectuée.
- -qq, --silent
- Sortie silencieuse - n'affiche aucune information lors des mises à jour.
- -o, --show-progress
- Valable seulement pour le Mode Mise à jour , affiche la progression (sous forme de pourcentage effectué) du transfert de données.
- -g, --logfile=FICHIER
- Ajouter les messages de débogage au FICHIER (stderr est utilisée si cette option n'est pas indiquée)
- -x, --create-remote
- Créer la racine du site distant
- -n, --dry-run
- Afficher ce qui serait réalisé sans effectuer réellement l'action
- -k, --keep-going
- Passe outre les erreurs en Mode Mise à jour ou en Mode Synchronisation
- -a, --allsites
- Exécute l'opération donnée pour tous les sites - valable pour tous les modes, sauf le Mode Voir configuration , pour lequel cette option est sans effet.
- -d MASQUE, --debug=CLÉ[,CLÉ...]
- Affiche des informations de débogage. Vous devez
donner une liste de mots-clés séparés par une
virgule. Chaque mot-clé peut être, au choix :
socket Manipulation des sockets
files Manipulation des fichiers
rcfile Analyseur du fichier de configuration
http Pilote HTTP
httpbody Affiche le corps des réponses HTTP
ftp Pilote FTP
xml Informations d'analyse syntaxique XML
xmlparse Informations d'analyse syntaxique XML de bas niveau
httpauth Informations d'authentification HTTP
cleartext Affiche les mots de passe en clair Les mots de passe seront masqués dans l'affichage de débogage, à moins que le mot-clé cleartext ne soit utilisé. Un exemple de l'utilisation des informations de débogage est de déboguer le mode récupération FTP :
CONCEPTS
L' état stocké d'un site est un instantané de l'état du site, conservé dans le répertoire de stockage (~/.sitecopy/). Le fichier de stockage sert à conserver cet état entre deux invocations du programme. En mode mise à jour, sitecopy construit une liste de fichiers pour chaque site en parcourant le répertoire local, prend connaissance de l'état stocké et, en comparant les deux, détermine quels fichiers ont changé, lesquels ont été déplacés, et ainsi de suite.CONFIGURATION
La configuration est assurée par le fichier de configuration (fc). Ce fichier contient une ou plusieurs définitions de sites. Un nom unique est attribué à chaque définition de site ; c'est par ce nom qu'on se réfère à un site en ligne de commande. Chaque définition de site contient les détails du serveur sur lequel est stocké le site, la manière dont on peut accéder à ce serveur, l'emplacement local et distant du site, ainsi que des options pour ce site si nécessaire.Définition d'un site
La définition d'un site est constituée d'une série de lignes :[ port numéro-de-port ]
[ username utilisateur ]
[ password mot-de-passse ]
[ proxy-server nom-du-proxy
[ url URL-du-site ]
[ protocol { ftp | webdav } ]
[ ftp nopasv ]
[ ftp showquit ]
[ ftp { usecwd | nousecwd } ]
[ http expect ]
[ safe ]
[ state { checksum | timesize } ]
[ permissions { ignore | exec | all } ]
[ symlinks { ignore | follow | maintain } ]
[ nodelete ]
[ nooverwrite ]
[ checkmoved [renames] ]
[ tempupload ]
[ exclude motif ]...
[ ignore motif ]...
[ ascii motif ]...
Options pour le serveur distant
La clé server est utilisée pour spécifier le serveur distant sur lequel est stocké le site distant. Cela peut être un nom DNS ou une adresse IP. La connexion au serveur se fera sur le port par défaut pour le protocole utilisé, ou bien par le numéro indiqué par le mot-clé port. sitecopy gère les protocoles WebDAV ou FTP -- le mot-clé protocol spécifie lequel utiliser, en prenant comme valeur webdav ou ftp respectivement. Le protocole par défaut est FTP.État des fichiers
L'état d'un fichier est conservé dans le fichier de stockage associé (dans ~/.sitecopy/*), et sert à déterminer quand le fichier a été modifié. Il y a deux méthodes possibles, qui peuvent être choisies via le mot-clé state , avec comme paramètre timesize (par défaut), ou checksum.Mode Sécurisé
Vous pouvez passer en Mode Sécurisé grâce au mot-cléEmplacements de stockage des fichiers du site
Le mot-clé remote spécifie le répertoire racine de la copie distante du site. Vous pouvez le donner sous la forme d'un chemin absolu, comme :Traitement des permissions des fichiers
Le traitement des permissions des fichiers est contrôlé par le mot-clé permissions , qui peut prendre une de ces trois valeurs :- ignore
- pour ignorer complètement les permissions des fichiers,
- exec
- pour propager les permissions des fichiers exécutables uniquement,
- all
- pour propager les permissions de tous les fichiers.
Traitement des liens symboliques
Les liens symboliques trouvés sur le site local peuvent être au choix ignorés, suivis ou maintenus. En mode « follow », le fichier référencé par un lien symbolique sera remonté à l'emplacement du lien sur le site distant. En mode « maintain », le lien sera aussi créé sur le site distant (voir ci-dessous). Le mode utilisé pour chaque site est spécifié par le mot-clé symlinks , qui peut prendre la valeur ignore, follow ou maintain.Maintenance des liens symboliques
Ce mode est n'actuellement supporté que par les serveurs WebDAV implémentant WebDAV Advanced Collections, qui est en cours de développement. Dans ce mode, la cible du lien sur le serveur est littéralement copié à partir de la cible du lien symbolique. Astuce : vous pouvez utiliser des URL si vous le désirez :Suppression et déplacememnt des fichiers distants
Vous pouvez utiliser l'option nodelete pour empêcher les fichiers distants d'être jamais supprimés. Cela peut être utile si vous conservez de grosses quantités de données sur le serveur, dont vous ne voudriez pas pour autant conserver de copie locale.Exclure des fichiers
Certains fichiers peuvent être ignorés de sitecopy par l'emploi du mot-clé exclude, qui accepte des motifs d'expressions rationnelles à la manière du shell. Par exemple, utilisezIgnorer les changements des fichiers locaux
Utilisez l'option ignore pour indiquer à sitecopy qu'il doit ignorer les modifications locales apportées aux fichiers du site. Si un changement est fait au contenu d'un fichier ignoré, le fichier ne sera pas remonté sur le serveur en mode mise à jour. Les fichiers ignorés seront toutefois créés, déplacés et supprimés comme en temps normal.Mode de transfert par FTP
Pour spécifier le mode de transfert des fichiers par FTP, utilisez le mot-clé ascii. Tout fichier transféré en utilisant le mode ASCII verra ses caractères de fin de ligne (CRLF/LF) interprétés de façon appropriée. Par exemple, utilisezVALEURS DE RETOUR
Les valeurs de retour possibles dépendent du mode opératoire. Si plusieurs sites sont spécifiés en ligne de commande, la valeur de retour correspondra aux opérations effectuées pour le dernier des sites spécifiés.Pour le mode mise à jour
-1 ... la mise à jour n'a pas pu démarrer - problème de configuration
0 ... la mise à jour s'est parfaitement effectuée.
1 ... il y a eu un problème pendant la mise à jour
2 ... impossible de se connecter ou s'authentifier auprès du serveur
Pour le mode liste (mode par défaut)
-1 ... impossible de former la liste - problème de configuration
0 ... le site distant n'a pas besoin de mise à jour
1 ... le site distant nécessite une mise à jour
CONTENU DU FICHIER DE CONFIGURATION D'EXEMPLE
Serveur FTP, usage simple
Le site de Fred est remonté sur un serveur FTP nommé « my.server.com » et maintenu dans le répertoire « public_html » situé dans le répertoire de connexion. Le site est conservé en local dans le répertoire /home/fred/html.server my.server.com
url http://www.server.com/fred
username fred
password juniper
local /home/fred/html/
remote ~/public_html/
Serveur FTP, usage avancé
Ici, le site de Freda est remonté sur un serveur FTP nommé « ftp.elsewhere.com » et maintenu dans le répertoire /www/freda. Le site est conservé en local dans le répertoire /home/freda/sites/elsewhere/server ftp.elsewhere.com
username freda
password blahblahblah
local /home/freda/sites/elsewhere/
remote /www/freda/
# Freda veut ignorer les fichiers à l'extension .bak ou
# se terminant par un ~:
exclude *.bak
exclude *~
Serveur WebDAV, usage simple
Cet exemple montre comment définir un site avec un serveur WebDAV.server dav.wow.com
protocol webdav
username pow
password zap
local /home/joe/www/super/
remote /
FICHIERS
~/.sitecopyrc Emplacement par défaut du fichier de configuration.BOGUES
Problèmes connus : Les modes récupération et synchronisation ne sont PAS fiables avec le protocole FTP. Si vous avez besoin d'opérations atomiques de récupération d'informations et de synchronisation de fichiers, n'utilisez pas sitecopy ; essayez plutôt rsync.VOIR AUSSI
rsync(1), ftp(1), mirror(1)STANDARDS
[Cités seulement pour référence, l'auteur ne revendique aucune conformité à aucun de ces standards.]ÉBAUCHES DE STANDARDS
draft-ietf-ftpext-mlst-05.txt - Extensions to FTPAUTEURS
Joe Orton et d'autres.TRADUCTION
Nicolas Girard < girard_nicolas at yahoo.fr>, 2004.AVERTISSEMENT SUR LA TRADUCTION
Il est possible que cette traduction soit imparfaite ou périmée. En cas de doute, veuillez vous reporter au document original en langue anglaise fourni avec le programme.June 2001 | sitecopy |