getInfo 2.54.0

This commit is contained in:
kyodev 2017-12-04 09:33:29 +01:00
parent 4a9f738428
commit 5242eddea1
2 changed files with 51 additions and 50 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
version=2.53.2 version=2.54.0
date="03/12/2017" date="04/12/2017"
projet="simpledeb" projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/" contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getInfo" script="getInfo"
@ -451,45 +451,49 @@ f_dspl_scandir(){ # 21/10/2017
echo -e "$text" >> "$fileOutput" # flush fonction echo -e "$text" >> "$fileOutput" # flush fonction
} }
# $1=liste fichier(s) à grepper, [$2]: largeur 1ère colonne &| nofile &| novide &| ligneVide &| date &| commentXY # $1=liste fichier(s) à grepper, [$2]: N &| nofile &| novide &| ligneVide &| date &| commentXY
# si aucun fichier dans la liste retour: 'nofile|vide|inexistant' # si aucun fichier dans la liste retour: 'nofile|vide|inexistant'
# /!\ protéger les chemins avec " (surtout si plusieurs chemins ou joker)
# option largeur, chiffres AU DÉBUT!
# option 'novide' pas d'indication vide # option 'novide' pas d'indication vide
# option 'notitre' pas d'énumération de fichier greppé (destiné à un seul fichier) # option 'notitre' pas d'énumération de fichier greppé (destiné à un seul fichier)
# option 'noinexist' pas de titre si fichier inexistant # option 'noinexist' pas de titre si fichier inexistant
# option 'lignevide', pas de suppression des lignes vides # option 'lignevide', pas de suppression des lignes vides
# option 'date', date de modification du fichier # option 'date', date de modification du fichier
# option 'commentXY', commentaire supplémentaire à filtrer, ex: comment// # option 'commentXY', OPTION FINALE! commentaire supplémentaire à filtrer, ex: comment//
# ex. cumul option: "10 novide nofile lignevide" # ex. cumul option: "10 novide nofile lignevide" (espace obligatoire, pas d'autre séparateur)
# cmd de base: grep -Ersv '^#|^$' file|dossier "options" # cmd de base: grep -Ersv '^#|^$' file|dossier "options"
f_grep_file(){ # 3/12/2017 f_grep_file(){ # 3/12/2017
local file content display local file content display='' motif
motif="^[[:blank:]]*#"
[[ ! "$2" =~ lignevide ]] && motif+="|^[[:blank:]]*$"
[[ "$2" =~ comment ]] && comment=${2##*comment} # on garde les symboles de commentaires à la fin
[[ "$2" =~ comment ]] && motif+="|^[[:blank:]]*$comment"
for file in $1; do for file in $1; do
# contenu # contenu
if [[ "${2,,}" =~ lignevide ]]; then content=$( grep -Ersv "$motif" "$file" 2>&1)
content=$( grep -Ersv '^[[:blank:]]*#' "$file" 2>&1) if [[ "$2" =~ ^[0-9] ]]; then # si $2 contient des chiffres (largeur) en tête, gawk
elif [[ "${2,,}" =~ comment ]]; then largeur=${2%% *}
comment=${2#comment} content=$(gawk -v larg="$largeur" '
content=$( grep -Ersv "^[[:blank:]]*$comment|^[[:blank:]]*#|^[[:blank:]]*$" "$file" 2>&1) !/^[[:blank:]]*$/ { printf "%-"larg"s",$1; $1=""; printf "%s\n",$0 } # exclut ligne vide
else
content=$( grep -Ersv '^[[:blank:]]*#|^[[:blank:]]*$' "$file" 2>&1)
fi
if [[ "$2" =~ [0-9] ]]; then # si $2 contient des chiffres (largeur), gawk
content=$(gawk -v "larg=${2//[[:alpha:]]}" '
/^[[:graph:]]/ { printf "%-"larg"s",$1; $1=""; printf "%s\n",$0 } # graph exclut ligne vide ou retour grep vide
' <<< "$content") ' <<< "$content")
fi fi
[ -d "$file" ] && file+='/' # si répertoire, ajout / final, joli [ -d "$file" ] && file+='/' # si répertoire, ajout / final, joli
content=${content//$file} # joli, suppression de $file dans les noms de fichiers entete grep content=${content//$file} # joli, suppression de $file dans les noms de fichiers entete grep
# mise en forme # mise en forme
if [[ ! "${2,,}" =~ notitre ]]; then # titre if [[ ! "$2" =~ notitre ]]; then # titre
if [ -e "$file" ]; then if [ -e "$file" ]; then
if [[ "${2,,}" =~ "date" ]]; then if [[ "$2" =~ "date" ]]; then
display+=" $file, date de modification: $( date -r $file '+%d/%m/%Y %H:%M %z' ) \n" display+=" $file, date de modification: $( date -r $file '+%d/%m/%Y %H:%M %z' ) \n"
else else
display+="---- $file \n" display+=" --- $file \n"
fi
elif [[ ! "$2" =~ "noinexist" ]]; then
if touch -c $file 2>/dev/null ; then
display+=" --- $file: inexistant"$'\n\n'
else
display+=" --- $file: Permission non accordée"$'\n\n'
fi fi
else
[[ "${2,,}" =~ "noinexist" ]] || display+="---- $file: inexistant"$'\n\n'
fi fi
fi fi
if [ "$content" ]; then if [ "$content" ]; then
@ -1469,7 +1473,7 @@ fi_packagers(){ #v2 23/11/2017
fi fi
} }
fi_pkg_apt(){ #v3 1/12/2017 fi_pkg_apt(){ #v3 3/12/2017
local dateMaj nb_packages ifile info_update text pluriel local dateMaj nb_packages ifile info_update text pluriel
local sources cmt_sources cmd_sources local sources cmt_sources cmd_sources
local apt_v apt_version apt_prefs cmt_apt_prefs cmd_apt_prefs local apt_v apt_version apt_prefs cmt_apt_prefs cmd_apt_prefs
@ -1498,41 +1502,33 @@ fi_pkg_apt(){ #v3 1/12/2017
fi fi
# apt prefs # apt prefs
apt_prefs=$( f_grep_file "/etc/apt/preferences.d/*" ) apt_prefs=$( f_grep_file "/etc/apt/preferences.d/*" )
cmt_apt_prefs="préférences apt"
cmd_apt_prefs="grep -Erv '^#|^$' /etc/apt/preferences.d/" cmd_apt_prefs="grep -Erv '^#|^$' /etc/apt/preferences.d/"
cmt_apt_prefs="préférences apt"
if [ "$1" == "confOnly" ]; then if [ "$1" == "confOnly" ]; then
local apt_unUpgrd cmd_unUpgrd cmd_apt_history essai
shopt -s extglob shopt -s extglob
local apt_confs cmd_apt_confs cmt_apt_confs syslog cmd_syslog cmt_syslog # apt_unUpgrd=$( f_grep_file "/etc/apt/apt.conf.d/!(*.save)" "comment//" )
local apt_history cmd_apt_history cmd_apt_history cmt_apt_history essai apt_unUpgrd=$( f_grep_file "/etc/apt/apt.conf.d/50unattended-upgrades" "comment//" )
# apt_confs=$( f_grep_file "/etc/apt/apt.conf.d/!(*.save)" "comment//" ) cmd_unUpgrd="grep -Erv '^//|^$' /etc/apt/apt.conf.d/50unattended-upgrades"
apt_confs=$( f_grep_file "/etc/apt/apt.conf.d/50unattended-upgrades" "comment//" ) [ "$apt_unUpgrd" ] && info_unUpgrd="les logs spécifiques unattended-upgrades: "
cmd_apt_confs="grep -Erv '^#|^//|^$' " info_unUpgrd+="**ls -l /var/log/unattended-upgrades/*.log**"
cmt_apt_confs="apt .conf unattended-upgrades"
syslog=$( f__sudo "cat /var/log/syslog | tail -n15" )
cmd_syslog="cat /var/log/syslog | tail -n15"
cmt_syslog="15 derniers logs"
apt_history=$( f__sudo "cat /var/log/apt/history.log | tail -n25" )
cmd_apt_history="cat /var/log/apt/history.log | tail -n25"
cmt_apt_history="25 derniers historiques apt"
f_di cmd "$sources" "$cmd_sources" "$cmt_sources" f_di cmd "$sources" "$cmd_sources" "$cmt_sources"
return 0 f_di cmd "$apt_prefs" "$cmd_apt_prefs" "$cmt_apt_prefs"
f_di cmd "$apt_prefs" "$cmt_apt_prefs" "$cmt_apt_prefs" f_di cmd "$apt_unUpgrd" "$cmd_unUpgrd" ".conf unattended-upgrades"
f_di cmd "$apt_confs" "$cmd_apt_confs" "$cmt_apt_confs" f_dspl_alrt "$info_unUpgrd" "info"
f_di cmd "$syslog" "$cmd_syslog" "$cmt_syslog" #f_di cmd "$( cat /var/log/syslog | tail -n20 )" "cat /var/log/syslog | tail -n20" "20 derniers logs"
# f_di cmd "$apt_history" "$cmd_apt_history" "$cmt_apt_history" #f_di cmd "$( cat /var/log/apt/history.log | tail -n25 )" "cat /var/log/apt/history.log | tail -n25" "25 derniers historiques apt"
f_di cmd "$( f_grep_file /var/log/unattended-upgrades/* )" #f_di sans "$( f_grep_file "/var/log/unattended-upgrades/*.log" )"
IFS=$'\n' IFS=$'\n'
essai=($(cat /var/log/apt/history.log | grep -B1 -A2 'unattended-upgrade')) essai=($(cat /var/log/apt/history.log | grep -B1 -A2 'unattended-upgrade'))
for i in "${!essai[@]}"; do # for i in "${!essai[@]}"; do
: # for i in /var/log/unattended-upgrades/* ; do
done # done
# f_di cmd $(echo "${essai[*]}") "$cmt_apt_history" # f_di cmd $(echo "${essai[*]}") "$cmt_apt_history"
#echo ${#essai[*]} #echo ${#essai[*]}
#echo ${essai[0]}
#echo ${essai[1]}
#echo ${essai[2]}
#echo ${essai[3]} #echo ${essai[3]}
IFS="$IFS_INI" IFS="$IFS_INI"
return 0
fi fi
# avertissement # avertissement
info_update="apt update n'a pas été lancé. vérifier que la date de mise à jour ne soit " info_update="apt update n'a pas été lancé. vérifier que la date de mise à jour ne soit "

View File

@ -1,10 +1,15 @@
# changelog getInfo # changelog getInfo
## 2.53.2 03/12/2017 ## 2.54.0 04/12/2017
* fix: fu_user * révision: f-grep_file, révision, nouvelle option
* révision: fi_conf, ajout service systemctl
* révision: f_grep_file et nouvelle option comment
* révision: fi_pkg_apt, détails conf
* révision: fi_log_xorg, mode silent pour confs xorg
* fix: 2.53.1 push sur un test en cours :( * fix: 2.53.1 push sur un test en cours :(
* fix: fu_user
## 2.53.0 02/12/2017 ## 2.53.0 02/12/2017