This commit is contained in:
kyodev 2017-09-06 14:08:03 +02:00
parent 67d685c1ff
commit 2dbc79f956
2 changed files with 29 additions and 24 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=1.13.0
date="04/09/2017"
version=1.14.0
date="06/09/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getInfo"
@ -306,7 +306,7 @@ fi_disk(){ # 30/08/2017
echo -e "$text" >> "$fileOutput"
}
fi_dmesg(){ # root only, si $1=dmesg rapport dmesg only # 30/08/2017
fi_dmesg(){ # root only, si $1=dmesg rapport dmesg only # 06/09/2017
local text dmesg_err dmesg_warn dmesg_crit
text="## dmesg (erreur, warning ou critique) \n\n"
if [ "$EUID" -ne 0 ]; then
@ -347,7 +347,7 @@ fi_dmesg(){ # root only, si $1=dmesg rapport dmesg only # 30/08/2017
fi
if [ "$1" == "dmesg" ]; then
echo > "$fileOutput" # vidage $fileOutput
chown "$user_": "$fileOutput"
chown "$user_:" "$fileOutput"
fi
echo -e "$text" >> "$fileOutput"
}
@ -1009,13 +1009,13 @@ fipaste_curl_markdownshare(){
}
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire, $1=upgrade|install|remove
fscript_cronAnacron(){ # v30/08/2017
fscript_cronAnacron(){ # v06/09/2017
local dirAnacron dirSpool fileAnacron
[ "$(type -t fscript_cronAnacron_special)" ] && fscript_cronAnacron_special # test, si fonction spécifique, appel
dirAnacron="/home/$user_/.config/anacron"
dirSpool="$dirAnacron/spool"
fileAnacron="$dirAnacron/$script.anacrontab"
[ $EUID -eq 0 ] && sed -i "/$script.anacrontab/d" /etc/crontab
[ "$EUID" -eq 0 ] && sed -i "/$script.anacrontab/d" /etc/crontab
case "$1" in
install | upgrade )
mkdir -p "$dirAnacron"
@ -1027,8 +1027,8 @@ fscript_cronAnacron(){ # v30/08/2017
fi
# création spool anacron utilisateur
mkdir -p "$dirSpool"
chown -R "$user_": "$dirAnacron" "$dirSpool"
if [ $EUID -eq 0 ]; then
chown -R "$user_:" "$dirAnacron" "$dirSpool"
if [ "$EUID" -eq 0 ]; then
# crontab pour activation horaire anacron
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
fi
@ -1060,12 +1060,12 @@ fscript_get_version(){ # v27/08/2017
}
# installation du script dans le système
fscript_install(){ # v29/08/2017
fscript_install(){ # v06/09/2017
if grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )$COLOR"
return 1
return
fi
if [ $EUID -ne 0 ]; then
if [ "$EUID" -ne 0 ]; then
f__info "$RED""vous devez être ROOT pour installer ce script dans le système$COLOR"
return 3
fi
@ -1081,13 +1081,13 @@ fscript_install(){ # v29/08/2017
# création fichier log
touch "$fileLogs"
chmod 644 "$fileLogs"
chown "$user_": "$fileLogs" "/opt/bin/$script"
chown "$user_:" "$fileLogs" "/opt/bin/$script"
[ -e "$fileDev" ] || rm "$(basename $0)" &>/dev/null ## on efface pas si fileDev (dev)
f__info "log" "$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
}
# suppression du script dans le système
fscript_remove(){ # v29/08/2017
fscript_remove(){ # v06/09/2017
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)$COLOR"
return 1
@ -1096,37 +1096,37 @@ fscript_remove(){ # v29/08/2017
f__info "$RED$script n'est pas installé$COLOR"
return 2
fi
if [ $EUID -ne 0 ]; then
if [ "$EUID" -ne 0 ]; then
f__info "$RED""vous devez être ROOT pour supprimer ce script dans le système$COLOR"
return 3
fi
# suppression de /opt
rm /opt/bin/"$script" &>/dev/null
unlink /usr/bin/"$script" &>/dev/null
rm "/opt/bin/$script" &>/dev/null
unlink "/usr/bin/$script" &>/dev/null
# cron/anacron remove
fscript_cronAnacron "remove"
f__info "log" "$script $version supprimé du système."
}
# mise à jour script si dispo
fscript_update(){ # v29/08/2017
fscript_update(){ # v06/09/2017
if ! grep -q 'bin' <<< "$(dirname $0)" ; then
f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)$COLOR"
return 1
return
fi
fscript_get_version
if [ "$script_aJour" == "ok" ]; then
f__info "log" "pas de mise à jour disponible pour $script $version"
return 0
fi
local dirTemp="/tmp/$script-$RANDOM/"
local dirTemp="/tmp/$script-$RANDOM"
mkdir -p "$dirTemp"
wget -q --tries=2 --timeout=15 -O "$dirTemp$script" "$urlScript"
wget -q --tries=2 --timeout=15 -O "$dirTemp/$script" "$urlScript"
if [ "$?" != "0" ]; then f__wget_test "$urlScript"; fi
chmod 755 "$dirTemp$script"
chown "$user_": "$dirTemp$script"
cp -d "$dirTemp$script" /opt/bin/"$script"
rm -rf "$dirTemp"
chmod 755 "$dirTemp/$script"
chown "$user_:" "$dirTemp/$script"
cp -d "$dirTemp/$script" "/opt/bin/$script"
rm -rf "$dirTemp/"
fscript_cronAnacron "upgrade"
f__info "log" "$script mis à jour en version $versionScript"
}

View File

@ -2,6 +2,11 @@
## todo
## 1.14.0 06/09/2017
* maj fscript_cronAnacron, fscript_update, fscript_install, fscript_remove
* cosmétique user_
## 1.13.0 04/09/2017
* nouveau IFS