sitecopy(1) | User Manuals | sitecopy(1) |
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. FTP, WebDAV et autres serveurs de publication basés sur HTTP (comme par exemple AOLserver et Netscape Enterprise) sont également gérés.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 : site nom-du-site[ 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 ]... Tout ce qui suit le caractère # sur une ligne est considéré comme un commentaire et est ignoré. Les valeurs peuvent être entourées par des guillemets, et les caractères peuvent être échappés par une contre-oblique (\). Par exemple, pour utiliser le motif d' exclusion *#, utilisez la ligne suivante:
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. Les mots-clés proxy-server et proxy-port peuvent être utilisés pour spécifier un serveur de proxy. Les serveurs de proxy ne sont gérés qu'avec le protocole webDAV. Si le serveur FTP ne gère pas le mode passif (PASV), utilisez l'option ftp nopasv. Pour afficher le message retourné par le serveur à la fermeture de la connexion, utilisez l'option ftp showquit. Si le serveur ne permet la remontée des fichiers que dans le répertoire courant, utilisez le mot-clé ftp usecwd (un symptôme possible est le message : "overwrite permission denied"). Notez que le répertoire racine distant (mot-clé remote) doit être un chemin absolu (qui commence par '/'), sans quoi usecwd sera ignoré. Si le serveur WebDAV utilise correctement le message d'attente 100-continue, comme par exemple Apache version 1.3.9 et supérieure, utilisez le mot-clé http expect. Cela peut économiser de la bande passante ainsi que réduire le temps nécessaire à une mise à jour. Pour authentifier l'utilisateur sur le serveur, utilisez les mots-clés username et password. Si le mot de passe n'est pas spécifié, il sera recherché dans le fichier ~/.netrc s'il existe. Voyez ftp(1) pour la syntaxe de ce fichier. Pour le protocole WebDAV, l'authentification basique et par condensé (digest authentication) sont gérées. Notez que vous ne devriez pas utiliser l'authentification basique, à moins que vous ne considériez la connexion au serveur comme digne de confiance. Vous pouvez spécifier l'URL complète pour accéder au site avec le mot-clé url. Elle n'est utilisée qu'en mode liste plate, afin qu'elle puisse figurer dans les pages« Changements récents ». L'URL ne doit pas se terminer par une barre oblique (/) ; un exemple valide estÉ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. timesize utilise la date de dernière modification et la taille du fichier pour détecter s'il a changé. checksum utilise une somme de contrôle MD5 pour détecter toute modification dans le contenu du fichier. Notez que calculer une somme de contrôle implique de lire le contenu entier du fichier ; et est plus lent que d'utiliser simplement la date de dernière modification et la taille. Cela peut être utile par exemple si vous utilisez un système de gestion de versions qui change la date de dernière modification des fichiers à chaque extraction d'une copie de travail (« checkout »), alors que le contenu des fichiers n'est en réalité pas modifié.Mode Sécurisé¶
Vous pouvez passer en Mode Sécurisé grâce au mot-clé safe. Dans ce mode, chaque fois qu'un fichier est remonté sur le serveur, la date de modification du fichier telle qu'elle apparaît sur le serveur est conservée. Par la suite, lorsque le fichier a été changé localement et doit être à nouveau remonté sur le serveur, la date de modification actuellement conservée côté serveur est récupérée puis comparée avec la date locale. En cas de différence, cela signifie que la copie sur le serveur a été changée par une tierce partie ; un message d'avertissement est produit, et votre copie locale n'écrasera pas la copie distante, prévenant ainsi la suppression de toute modification. Le mode sécurisé peut être utilisé avec des serveurs FTP ou WebDAV, mais si Apache/mod_dav est utilisé, il faut une version de mod_dav au moins égale à 0.9.11. Note Le mode sécurisé ne peut être utilisé conjointement avec l'option nooverwrite (voir plus bas).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. Le mode par défaut est ignore, i.e. les liens symboliques trouvés sur la copie locale du site sont ignorés.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. Si votre serveur ne permet pas l'écrasement de fichiers existants par ceux que vous remontez, utilisez l'option nooverwrite. Dans ce cas, avant de remonter un fichier, sitecopy supprimera au préalable la copie distante. Si vous utilisez l'option checkmoved, sitecopy cherchera si des fichiers ont été déplacés localement. Si c'est le cas, lors de la mise à jour du site, ces fichiers seront aussi déplacés sur le site distant. Avec l'option checkmoved renames, sitecopy cherchera si des fichiers ont été localement déplacés ou renommés. Cette option n'est utilisable qu'en conjonction avec l'option state checksum. AVERTISSEMENT Si vous n'utilisez pas de somme de contrôle MD5 pour déterminer l'état des fichiers (i.e. avec l'option state checksum ) N'UTILISEZ PAS non plus l'option checkmoved si vous avez tendance à mettre dans des répertoires différents des fichiers de même nom, taille et date de modification. Le risque d'écrasement est improbable, mais ne dites pas que vous n'aviez pas été prévenu.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. L'option ignore s'utilise de la même manière que l'option exclude. Notez que le mode synchronisation écrasera les changements apportés aux fichiers ignorés.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. site mysiteserver 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/ site anothersiteserver 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. site supersiteserver 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. Veuillez envoyer vos rapports d'anomalies et demandes d'améliorations à <sitecopy@lyra.org> plutôt qu'à l'auteur lui-même, puisque la liste de diffusion archive ses messages et les vôtres pourraient être utiles à d'autres utilisateurs.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.] RFC 959 - File Transfer Protocol (FTP)É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 |