63 lines
2.0 KiB
Bash
63 lines
2.0 KiB
Bash
|
|
# Display help
|
|
disp_help()
|
|
{
|
|
cat << EOF
|
|
Utilisation : init.sh [OPTIONS] [-m|--module <module1,...,moduleN>]
|
|
Initialise une machine pour l'intégrer à un réseau.
|
|
|
|
Options :
|
|
-m, --module <liste> Lance les modules indiqués même s'il ne sont pas
|
|
dans les fichiers de configuration.
|
|
-c, --check-only Lance les procédure de vérification préexecution
|
|
sans rien modifier.
|
|
-j, --jump Saute les procédures de vérification.
|
|
-k, --keep-going L'execution continura en cas d'erreur.
|
|
-r, --resume Reprend l'execution la ou elle c'est arrêté.
|
|
-h, --help Affiche ce texte d'aide.
|
|
-v, --version Show version of that script and version of all
|
|
available modules.
|
|
|
|
Attention : les options courtes ne sont pas concaténable.
|
|
|
|
Variable d'environnement :
|
|
LOGFILE Stocke le nom complet du fichier de log qui sera
|
|
utilisé.
|
|
|
|
Fichiers de configuration :
|
|
Le fichier de configuration principal fournira les détails nécessaire
|
|
au déploiement de la nouvelle machine. Il doit se situer dans le
|
|
répertoire conf/ à coté du script init.sh. Si un fichier appelé
|
|
"hostname.sh" (ou hostname est le nom d'hote) existe il sera le fichier
|
|
de configuration principal. Dans le cas contraire, le nom générique
|
|
"init.conf.sh" sera recherché. En l'absence de fichier de configuration
|
|
ce script ne pourra pas fonctionner.
|
|
|
|
Veuiller consulter les fichiers de configuration fournis en exemple
|
|
pour avoir un aperçu des paramêtres disponibles.
|
|
|
|
EOF
|
|
}
|
|
|
|
# Show version infos
|
|
show_version()
|
|
{
|
|
echo -e "${BWhite}init.sh${DEFAULTCOL} version ${BGreen}$VERSION${DEFAULTCOL}"
|
|
echo ""
|
|
echo "Modules disponibles :"
|
|
for mod in $MYPATH/modules/*.sh; do
|
|
. $mod
|
|
local modname=$(get_mod_name $mod)
|
|
local version=VER_$modname
|
|
echo -e "\t$BWhite$modname${DEFAULTCOL}: $BGreen${!version}$DEFAULTCOL"
|
|
done
|
|
[[ $EUID -ne 0 ]] &&
|
|
echo -e "\n${BYellow}Attention :$DEFAULTCOL Ce script requiert les droits d'administration pour fonctionner."
|
|
}
|
|
|
|
# Get module name from module file
|
|
get_mod_name()
|
|
{
|
|
echo $(basename $1 | cut -f 1 -d '.')
|
|
}
|