Un petit bout de code utile pour travailler sur des copies locales de documents et les publier rapidement.
#! /bin/sh
#
#
# pub.doc.sh
# 15 octobre 2007 : v0.9
# 15 octobre 2007 : v1.0 ajout d'options d'exécution
SERVEUR=serveur.org
UTILISATEUR=user
#Répertoire où seront copiés les fichiers.
# chemin relatif à /home/$UTILISATEUR
# si $1 n'est pas fournie, REP_DEFAUT est initialisé avec une valeur
#par défaut
REP_DEFAUT="public_html/";
REP_PUB=${1:-"$REP_DEFAUT"}
shift # $2 devient $1 etc…
while test $# -ne 0
do
SUM=$(basename $1).md5
# étant donné le basename utilisé pour créer $SUM, il est
# nécessaire d'exécuter pub.doc.sh dans le répertoire contenant les
# fichier (cf. test suivant)
# copie si [ $1 est un fichier ]
# ET [ la somme de contrôle existe ]
# ET la somme de contrôle ne concorde pas (! md5sum)
if [ -f $1 ] && [ -f $SUM ] && ! md5sum --status -c ${SUM}
then
echo "ssh copy ($SERVEUR):"
if scp $1 ${UTILISATEUR}@${SERVEUR}:${REP_PUB}
then
echo "fichier copié"
echo -e "mise à jour de la somme de contrôle de $1 \n"
#md5sum $1 > ${SUM}
else
echo -e "erreur scp, le fichier $1 n'a pas été copié\n"
fi
else
echo "$1 non traité"
fi
shift
done
exit 0
Commentaire(s)