You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
1.4 KiB
99 lines
1.4 KiB
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
|
|
FORCE=0
|
|
DRY=0
|
|
SYSTEMS=""
|
|
|
|
synopsis() {
|
|
cat << EOF
|
|
Usage : `basename $0` [-hdf] [network]
|
|
EOF
|
|
}
|
|
|
|
help() {
|
|
cat << EOF
|
|
|
|
`basename $0` dépose le réseau sur le serveur.
|
|
|
|
`synopsis`
|
|
|
|
Le réseau est "zipé" et est déposé sur le serveur via scp.
|
|
|
|
Pour cela, la variable SSH_REPOSITORY doit avoir été fixée dans votre
|
|
fichier \$HOME/.vdnrc. Exemple :
|
|
|
|
SSH_REPOSITORY="toto@truc.bidule.org:public_html/files"
|
|
|
|
Remarque : les fichiers "*.disk" sont préalablement compressés (.gz).
|
|
|
|
-h : affiche cette aide
|
|
-d : dry run
|
|
-f : force : pas de demande de confirmation !
|
|
|
|
EOF
|
|
}
|
|
|
|
usage() {
|
|
synopsis
|
|
exit 1
|
|
}
|
|
|
|
args() {
|
|
local opt
|
|
while getopts "hdf" opt; do
|
|
case $opt in
|
|
h) help; exit 0;;
|
|
d) DRY=1;;
|
|
f) FORCE=1;;
|
|
?) usage;;
|
|
esac
|
|
done
|
|
shift $(($OPTIND - 1))
|
|
[ $# -gt 1 ] && usage
|
|
[ $# = 1 ] && NETWORK=$1 || :
|
|
}
|
|
|
|
|
|
publishNetwork() {
|
|
|
|
echo publish $1
|
|
|
|
d=$(dirname $1)
|
|
b=$(basename $1)
|
|
|
|
rm -f $TMPDIR/$b.zip
|
|
|
|
|
|
(cd $d; umask 077 && zip --exclude \*.conf -r $TMPDIR/$b.zip $b)
|
|
|
|
ls -l $TMPDIR/$b.zip
|
|
|
|
if [ -z "$SSH_REPOSITORY" ]; then
|
|
error "SSH_REPOSITORY est vide"
|
|
fi
|
|
|
|
if [ $DRY = 0 ]; then
|
|
if [ $FORCE = 0 ]; then
|
|
request "Publish to $SSH_REPOSITORY ? :"
|
|
fi
|
|
scp $TMPDIR/$b.zip $SSH_REPOSITORY
|
|
fi
|
|
}
|
|
|
|
|
|
# Programme principal
|
|
|
|
GUEST_OWNER=$USER
|
|
VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh
|
|
|
|
NETWORK=$NETWORK_DIR
|
|
|
|
args "$@"
|
|
|
|
[ -z "$NETWORK" ] && usage
|
|
|
|
|
|
publishNetwork $NETWORK
|