fix: checkmk_agent module renamed, main program reordering, conf_disks fixed, few typos
This commit is contained in:
81
init.sh
81
init.sh
@@ -40,42 +40,6 @@ function_exists prnt || (
|
||||
exit 2
|
||||
)
|
||||
|
||||
# Vérifie qu'on soit root
|
||||
if [[ $EUID -ne 0 ]];
|
||||
prnt E "Ce script doit être démarré en tant que root. Arrêt."
|
||||
die 1 --force
|
||||
fi
|
||||
|
||||
# ===========================
|
||||
# ==== Log file creation ====
|
||||
# ===========================
|
||||
|
||||
# Variables globales importantes
|
||||
export LOGFILE=${LOGFILE:-"$MYPATH/log/init-$(uname -n)-$(stdtime).log"}
|
||||
|
||||
prnt I "Création du répertoire d'accueil du fichier log..."
|
||||
[[ ! -d $(dirname $LOGFILE) ]] && mkdir -pv $(dirname $LOGFILE)
|
||||
|
||||
# Log toutes les sortie dans le fichier de log
|
||||
exec 3>&1 4>&2
|
||||
trap 'exec 2>&4 1>&3' 0 1 2 3
|
||||
exec 1>$LOGFILE 2>&1
|
||||
|
||||
# Récupère la configuration
|
||||
prnt I "Chargement de la configuration..."
|
||||
if [[ -e $MYPATH/conf/$HOSTNAME.conf ]]; then
|
||||
prnt I "Une configuration spécifique sera utilisé."
|
||||
. $MYPATH/conf/$HOSTNAME.conf
|
||||
else
|
||||
if [[ -e $MYPATH/conf/init.conf.sh ]]; then
|
||||
prnt I "Une configuration générique sera utilisé."
|
||||
. $MYPATH/conf/init.conf.sh
|
||||
else
|
||||
prnt E "Aucune configuration trouvée, impossible de continuer."
|
||||
die 2 --force
|
||||
fi
|
||||
fi
|
||||
|
||||
# ================================
|
||||
# ==== Main program functions ====
|
||||
# ================================
|
||||
@@ -123,14 +87,14 @@ EOF
|
||||
# Show version infos
|
||||
show_version()
|
||||
{
|
||||
echo -e "${White}init.sh${DEFAULTCOL} version ${Green}$VERSION${DEFAULTCOL}"
|
||||
echo -e "${BWhite}init.sh${DEFAULTCOL} version ${BGreen}$VERSION${DEFAULTCOL}"
|
||||
echo ""
|
||||
echo "Available modules:"
|
||||
for mod in $MYPATH/modules/*.sh; do
|
||||
. $mod
|
||||
local modname=$(get_mod_name $mod)
|
||||
local version=VER_$modname
|
||||
echo -e "\t$modname:\t ${!version}"
|
||||
echo -e "\t$BWhite$modname${DEFAULTCOL}: $BGreen${!version}$DEFAULTCOL"
|
||||
done
|
||||
}
|
||||
|
||||
@@ -140,8 +104,6 @@ get_mod_name()
|
||||
echo $(basename $1 | cut -f 1 -d '.')
|
||||
}
|
||||
|
||||
|
||||
|
||||
# ======================
|
||||
# ==== Main Program ====
|
||||
# ======================
|
||||
@@ -149,7 +111,7 @@ get_mod_name()
|
||||
# Processing command line options
|
||||
want_module=false
|
||||
for opt in $@; do
|
||||
if [[ want_module == false ]]; then
|
||||
if [[ $want_module == false ]]; then
|
||||
case $opt in
|
||||
"-h"|"--help")
|
||||
disp_help
|
||||
@@ -158,6 +120,7 @@ for opt in $@; do
|
||||
"-v"|"--version")
|
||||
show_version
|
||||
exit 0
|
||||
;;
|
||||
"-m"|"--module")
|
||||
want_module=true
|
||||
;;
|
||||
@@ -186,7 +149,7 @@ for opt in $@; do
|
||||
;;
|
||||
esac
|
||||
else
|
||||
if [[ ! MANUAL_MODULE_LIST ]]; then
|
||||
if [[ ! $MANUAL_MODULE_LIST ]]; then
|
||||
MANUAL_MODULE_LIST=$opt
|
||||
want_module=false
|
||||
else
|
||||
@@ -196,6 +159,40 @@ for opt in $@; do
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# À ce stade on vérifie qu'on soit root
|
||||
# (--help et --version sont autorisés en user normal)
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
prnt E "Ce script doit être démarré en tant que root. Arrêt."
|
||||
die 1 --force
|
||||
fi
|
||||
|
||||
# Variables globales importantes
|
||||
export LOGFILE=${LOGFILE:-"$MYPATH/log/init-$(uname -n)-$(stdtime).log"}
|
||||
|
||||
prnt I "Création du répertoire d'accueil du fichier log..."
|
||||
[[ ! -d $(dirname $LOGFILE) ]] && mkdir -pv $(dirname $LOGFILE)
|
||||
|
||||
# Log toutes les sortie dans le fichier de log
|
||||
exec 3>&1 4>&2
|
||||
trap 'exec 2>&4 1>&3' 0 1 2 3
|
||||
exec 1>$LOGFILE 2>&1
|
||||
|
||||
# Récupère la configuration
|
||||
prnt I "Chargement de la configuration..."
|
||||
if [[ -e $MYPATH/conf/$HOSTNAME.conf ]]; then
|
||||
prnt I "Une configuration spécifique sera utilisé."
|
||||
. $MYPATH/conf/$HOSTNAME.conf
|
||||
else
|
||||
if [[ -e $MYPATH/conf/init.conf.sh ]]; then
|
||||
prnt I "Une configuration générique sera utilisé."
|
||||
. $MYPATH/conf/init.conf.sh
|
||||
else
|
||||
prnt E "Aucune configuration trouvée, impossible de continuer."
|
||||
die 2 --force
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $want_module == true ]]; then
|
||||
prnt E "La liste des modules à exécuter est manquante !"
|
||||
die 1 --force
|
||||
|
||||
@@ -20,8 +20,8 @@ function terminate()
|
||||
prnt E "$1 reçu, sortie immédiate."
|
||||
die 128 --force
|
||||
}
|
||||
trap terminate 'Ctrl + C' SIGINT
|
||||
trap terminate 'SIGTERM' SIGTERM
|
||||
trap "terminate 'Ctrl + C'" SIGINT
|
||||
trap "terminate 'SIGTERM'" SIGTERM
|
||||
|
||||
function error()
|
||||
{
|
||||
@@ -49,7 +49,7 @@ function error()
|
||||
die $error_code
|
||||
}
|
||||
# Trigger error function on error
|
||||
trap error ${LINENO} ERR
|
||||
trap "error ${LINENO}" ERR
|
||||
|
||||
# Print a backtrace
|
||||
function backtrace
|
||||
|
||||
@@ -23,7 +23,7 @@ export BYellow='\e[1;33m'
|
||||
export BBlue='\e[1;34m'
|
||||
export BPurple='\e[1;35m'
|
||||
export BCyan='\e[1;36m'
|
||||
export BWhite='\e[1;37m'*
|
||||
export BWhite='\e[1;37m'
|
||||
|
||||
# Underline
|
||||
export UBlack='\e[4;30m'
|
||||
|
||||
3
log/init-pc-levasseur-2021-06-23-170328+0200.log
Normal file
3
log/init-pc-levasseur-2021-06-23-170328+0200.log
Normal file
@@ -0,0 +1,3 @@
|
||||
[0;97mmercredi 23 juin 2021, 17:03:28 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Chargement de la configuration...
|
||||
[0;97mmercredi 23 juin 2021, 17:03:28 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Une configuration générique sera utilisé.
|
||||
./init.sh: ligne 161: erreur de syntaxe près du symbole inattendu « ) »
|
||||
3
log/init-pc-levasseur-2021-06-23-170407+0200.log
Normal file
3
log/init-pc-levasseur-2021-06-23-170407+0200.log
Normal file
@@ -0,0 +1,3 @@
|
||||
[0;97mmercredi 23 juin 2021, 17:04:07 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Chargement de la configuration...
|
||||
[0;97mmercredi 23 juin 2021, 17:04:07 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Une configuration générique sera utilisé.
|
||||
./init.sh: ligne 161: erreur de syntaxe près du symbole inattendu « ) »
|
||||
9
log/init-pc-levasseur-2021-06-23-170830+0200.log
Normal file
9
log/init-pc-levasseur-2021-06-23-170830+0200.log
Normal file
@@ -0,0 +1,9 @@
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Chargement de la configuration...
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Une configuration générique sera utilisé.
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;91mERREUR[0;39m ] Une liste de module à déjà été fournie !
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;91mERREUR[0;39m ] La ligne de commande ne tolère qu'un paramètre --module.
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;93mAttention[0;39m ] On continue malgrés l'erreur #1.
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;91mERREUR[0;39m ] Ce script doit être démarré en tant que root. Arrêt.
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;93mAttention[0;39m ] On continue malgrés l'erreur #1.
|
||||
[0;97mmercredi 23 juin 2021, 17:08:30 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] That's all folks !
|
||||
Après vérification des logs, vous devriez redémarrer la machine...
|
||||
4
log/init-pc-levasseur-2021-06-23-171005+0200.log
Normal file
4
log/init-pc-levasseur-2021-06-23-171005+0200.log
Normal file
@@ -0,0 +1,4 @@
|
||||
[0;97mmercredi 23 juin 2021, 17:10:05 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Chargement de la configuration...
|
||||
[0;97mmercredi 23 juin 2021, 17:10:05 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] Une configuration générique sera utilisé.
|
||||
[0;97mmercredi 23 juin 2021, 17:10:05 (UTC+0200)[0;39m [ [0;92minfo[0;39m ] That's all folks !
|
||||
Après vérification des logs, vous devriez redémarrer la machine...
|
||||
@@ -1,6 +1,6 @@
|
||||
# Configuration du disque de calcul
|
||||
|
||||
export VER_conf_disk="0.0.4"
|
||||
export VER_conf_disks="0.0.5"
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Cas de ZFS
|
||||
@@ -32,7 +32,7 @@ conf_zfs()
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ zpool create zcalc -m /calcul/$HOSTNAME $CALCLEVEL $opt $CALCDRV ]]; then
|
||||
if [[ $(zpool create zcalc -m /calcul/$HOSTNAME $CALCLEVEL $opt $CALCDRV) ]]; then
|
||||
# On active la compression par défaut
|
||||
zpool set zcalc compression=lz4
|
||||
|
||||
@@ -72,7 +72,7 @@ conf_xfs()
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
conf_disk()
|
||||
conf_disks()
|
||||
{
|
||||
[[ $STOP_CONF_DISK ]] && return 0
|
||||
|
||||
@@ -83,16 +83,15 @@ conf_disk()
|
||||
|
||||
prnt I "Installation des outils de partitionnement..."
|
||||
pkginst parted
|
||||
|
||||
conf_$CALCTYPE && (
|
||||
prnt I "Attribution des droits sur le disque de calcul."
|
||||
chown -Rv $MAINUSER:$MAINUSER /calcul/$HOSTNAME
|
||||
)
|
||||
else
|
||||
|
||||
conf_$CALCTYPE && (
|
||||
prnt I "Attribution des droits sur le disque de calcul."
|
||||
chown -Rv $MAINUSER:$MAINUSER /calcul/$HOSTNAME
|
||||
)
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
precheck_conf_disk()
|
||||
precheck_conf_disks()
|
||||
{
|
||||
if [[ ! $(type -t conf_$CALCTYPE) == "function" ]]; then
|
||||
prnt E "Format de disque inconnu ($CALCTYPE) !"
|
||||
@@ -110,7 +109,8 @@ precheck_conf_disk()
|
||||
if [[ $FORCEBLANK=="true" ]]; then
|
||||
prnt W "Le disque $drv sera réinitialisé !"
|
||||
else
|
||||
prnt E "La réinitialisation de $drv n'est pas autorisé, rien ne sera fait !"
|
||||
prnt E "La réinitialisation de $drv n'est pas autorisé, \
|
||||
rien ne sera fait !"
|
||||
export STOP_CONF_DISK=1
|
||||
fi
|
||||
fi
|
||||
@@ -128,5 +128,5 @@ precheck_conf_disk()
|
||||
}
|
||||
|
||||
|
||||
export -f conf_disk
|
||||
export -f precheck_conf_disk
|
||||
export -f conf_disks
|
||||
export -f precheck_conf_disks
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Install des paquets -- Debian et Ubuntu
|
||||
# Installation des paquets
|
||||
|
||||
export VER_install_pkg="0.0.1"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user