getInfo 1.26.0

This commit is contained in:
kyodev 2017-09-27 20:40:28 +02:00
parent da908555a6
commit 21fd89a5e7
3 changed files with 1440 additions and 55 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=1.25.0
date="25/09/2017"
version=1.26.0
date="26/09/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getInfo"
@ -264,35 +264,37 @@ fi_cpu(){ # 30/08/2017
echo -e "$text" >> "$fileOutput"
}
fi_disk(){ # 25/09/2017
local fstab disk_lsblk utilDisk resume idResume idSwap disk_detail disk_hotplug disk_fix
local diskAta diskUsb diskMmc diskNvm alert_uuidResume text
fi_disk(){ # 26/09/2017
local fstab resume idResume idSwap alert_uuidResume text
fstab="$(grep -vE '#|^$' /etc/fstab)"
disk_lsblk="$(lsblk -o NAME,FSTYPE,SIZE,LABEL,MOUNTPOINT,UUID,OWNER)"
utilDisk="$(df -h --output=source,target,fstype,size,used,avail,pcent --exclude=tmpfs --exclude=devtmpfs | grep -Ev 'devpts|none|proc|sys|tmpfs|udev')"
resume="$(grep -Ev '#|^$' /etc/initramfs-tools/conf.d/resume)"
# idResume="$(grep -Ev '#|^$' /etc/initramfs-tools/conf.d/resume | sed -En 's/^[^[:blank:]{1,}][^#{1,}].*UUID=(.*)$/\1/p')"
idResume="$(grep -Ev '#|^$' /etc/initramfs-tools/conf.d/resume | sed -En 's/.*UUID=([0-9a-Z-]*).*$/\1/p')"
idSwap="$(grep -Ev '#|^$' /etc/fstab | sed -En 's/^UUID=([0-9a-Z-]*).*swap.*$/\1/p')"
if [ "$idSwap" ] && [ "$idResume" ] && [ "$idSwap" != "$idResume" ]; then
alert_uuidResume+="id swap : $idSwap
id resume: $idResume
_vérifier la config resume_, l'UUID ne correspond pas à celui du swap. En cas de multi-boot. vous pouvez utiliser _RESUME=auto_ ou _RESUME=/dev/sdx_ \n\n"
alert_uuidResume+="id swap : $idSwap \nid resume: $idResume\n"
alert_uuidResume+="_vérifier la config resume_, l'UUID ne correspond pas à celui du swap. "
alert_uuidResume+="En cas de multi-boot. vous pouvez utiliser _RESUME=auto_ ou _RESUME=/dev/sdx_ \n\n"
fi
diskAta="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^ata/!d; /part/d; /\/sd/!d; s/^.*\(sd..*\)$/\1/')"
diskUsb="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^usb/!d; /part/d; /\/sd/!d; s/^.*\(sd..*\)$/\1/')"
diskMmc="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^mmc/!d; /part/d; /\/mmcblk/!d; s/^.*\(mmcblk..*\)$/\1/')"
diskNvm="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^nvme/!d; /part/d; /\/nvme/!d; s/^.*\(nvme...*\)$/\1/')"
[ "$diskAta" ] || diskAta="-"
[ "$diskUsb" ] || diskUsb="-"
[ "$diskMmc" ] || diskMmc="-"
[ "$diskNvm" ] || diskNvm="-"
###
text="## disque(s) \n\n"
figet_disk
text+="disque(s): $disk \n\n"
text+='``'"grep -vE '#|^$' /etc/fstab"'`` (fstab) \n' # fstab
[ "$part_fix_tot" ] || figet_disk # appel figet_disk si pas déjà fait par fi_systeme
text+='```\n'
text+="$part_fix_tot \n" # espaces des partitions montées
text+="disque(s) fixe(s): $disk_fix \n" # devices fixes
text+="disque(s) amovible(s): $disk_hotplug \n\n" # devices hotplug
text+="$disk_detail \n" # caractéristiques des disques trouvés
text+='```\n\n'
text+="**types de disque** \n\n"
text+="| ata | usb | mmc | nvme | \n"
text+="| :---: | :---: | :---: | :---: | \n"
text+="| $disk_ata | $disk_usb | $disk_mmc | $disk_nvme | \n\n"
# df, espaces des partitions montées seules
text+='``df -h --output=source,target,fstype,size,used,avail,pcent --exclude=tmpfs --exclude=devtmpfs`` (utilisation disques) \n'
text+='```\n'
text+="$disk_utilisation \n"
text+='```\n\n'
text+='``'"grep -vE '#|^$' /etc/fstab"'`` (fstab) \n' # fstab
text+='```\n'
text+="$fstab \n"
text+='```\n\n'
@ -300,19 +302,13 @@ _vérifier la config resume_, l'UUID ne correspond pas à celui du swap. En cas
text+='```\n'
text+="$disk_lsblk \n"
text+='```\n\n'
text+='``df -h --output=source,target,fstype,size,used,avail,pcent --exclude=tmpfs --exclude=devtmpfs`` (utilisation disques) \n' # df
text+='```\n'
text+="$utilDisk \n"
text+='```\n\n'
text+='``'"grep -Ev '#|^$' /etc/initramfs-tools/conf.d/resume"'`` (resume) \n' # resume
text+='``'"grep -Ev '#|^$' /etc/initramfs-tools/conf.d/resume"'`` (resume) \n' # resume
text+='```\n'
text+="$resume \n"
text+='```\n\n'
[ "$alert_uuidResume" ] && text+="$alert_uuidResume \n"
text+="**types de disque** \n\n"
text+="| ata | usb | mmc | nvme | \n"
text+="| :---: | :---: | :---: | :---: | \n"
text+="| $diskAta | $diskUsb | $diskMmc | $diskNvm | \n"
if [ "$alert_uuidResume" ]; then
text+="$alert_uuidResume \n\n"
fi
echo -e "$text" >> "$fileOutput"
}
@ -663,7 +659,7 @@ fi_system_analyse(){ # 25/09/2017
echo -e "$text" >> "$fileOutput"
}
fi_systeme(){ # 22/09/2017
fi_systeme(){ # 26/09/2017
local mbr description uname bootImage xorg shells lastboot uptime text
[ -d /sys/firmware/efi ] && mbr="**EFI**" || mbr="**Legacy (mbr)**"
[ -x "/usr/bin/lsb_release" ] && description="$(lsb_release -ds)" #dépend de apt install lsb-release, sur debian, en standard, juste : lsb-base
@ -713,9 +709,9 @@ fi_systeme(){ # 22/09/2017
text+="shell actif: $shell \n"
text+="shells installés: $shells \n"
figet_disk
text+="disque(s): $disk \n"
text+="$part_fix_tot \n"
figet_battery
text+="batteries(s): $battery \n"
text+="batteries(s): $battery \n" # batteries(s): 100% [Full]
text+="dernier boot: $lastboot, uptime: $uptime \n"
text+='```\n\n'
echo -e "$text" >> "$fileOutput"
@ -743,8 +739,6 @@ figet_battery() { # thanks neofetch, assigne $battery # 23/09/2017
for bat in "/sys/class/power_supply/BAT"*; do
capacity="$(< "${bat}/capacity")"
status="$(< "${bat}/status")"
# Fix for bash on Windows 10 which includes /proc files for battery usage despite there not being a battery installed.
[[ -z "$capacity" ]] && return
battery+="${capacity}% [${status}]"
done
unset bat
@ -813,20 +807,44 @@ figet_de() { # thanks neofetch, assigne $de
esac
}
figet_disk() { # thanks neofetch, assigne $disk # 30/08/2017
local df_flags df_dir disk_used disk_total disk_total_per
# df flags
df_flags="-h -l --total"
df_dir="total"
# Get the disk info
disk="$(df $df_flags | awk -v dir="$df_dir" '$0 ~ dir {print $2 ":" $3 ":" $5}')"
# Format the output
disk_used="${disk#*:}"
disk_used="${disk_used%%:*}"
disk_total="${disk%%:*}"
disk_total_per="${disk#*:*:}" # %
# Put it all together
disk="${disk_used} / ${disk_total} (${disk_total_per})"
# assigne $disk_lsblk $disk_utilisation $disk_detail $disk_hotplug $disk_fix $part_fix
# $part_hotplug $part_fix_tot $disk_ata $disk_usb $disk_mmc $disk_nvme
figet_disk(){ # 26/09/2017
disk_lsblk="$(lsblk -o NAME,FSTYPE,SIZE,LABEL,MOUNTPOINT,UUID,OWNER)"
disk_utilisation="$(df -h --output=source,target,fstype,size,used,avail,pcent --exclude=tmpfs --exclude=devtmpfs | grep -Ev 'devpts|none|proc|sys|tmpfs|udev')"
# détails disques et séquences disques fixes et amovibles, $disk_detail, $disk_fix, $disk_hotplug
unset disk_hotplug disk_fix part_fix part_hotplug
disk_detail="disque: vendeur modèle n° serie révision\n"
for idisk in $(grep -v 'loop' <<< $(ls /sys/block/)); do
disk_detail+="$idisk: $(sed -n '2p' <<< "$(lsblk -o VENDOR,MODEL,SERIAL,REV /dev/$idisk)") \n"
if [ "$(sed -n '2p' <<< $(lsblk -o HOTPLUG /dev/$idisk) | xargs)" == "1" ]; then
disk_hotplug+="$idisk "
else
disk_fix+="$idisk " # "sda sdb sdc"
fi
done
disk_detail="$(echo -e $disk_detail)"
unset idisk
# séquences partitions fixes, $part_fix, $(printf '/dev/%s ' $part_fix), "sda1 sda2 sda3"
part_fix="$(lsblk -o KNAME,MOUNTPOINT $(printf '/dev/%s ' $disk_fix) | grep '/' | awk '{print $1}' | tr '\n' ' ')"
# séquences partitions amovibles, $part_hotplug
part_hotplug="$(lsblk -o KNAME,MOUNTPOINT $(printf '/dev/%s ' $disk_hotplug) | grep '/' | awk '{print $1}' | tr '\n' ' ')"
[ "$disk_fix" ] || disk_fix="-"
[ "$part_fix" ] || part_fix="-"
[ "$disk_hotplug" ] || disk_hotplug="-"
[ "$part_hotplug" ] || part_hotplug="-"
# total espaces partition montées et fixes
part_fix_tot="espace disque des partitions fixes montées (total, utilisé, dispo): "
part_fix_tot+="$(df -h --total --output=size,used,avail $(printf '/dev/%s ' $part_fix) | tail -n-1 | xargs)"
part_fix_tot="$(sed 's/G/Go/g; s/M/Mo/g; s/K/ko/g' <<< $part_fix_tot)"
disk_ata="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^ata/!d; /part/d; /\/sd/!d; s/^.*\(sd..*\)$/\1/')"
disk_usb="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^usb/!d; /part/d; /\/sd/!d; s/^.*\(sd..*\)$/\1/')"
disk_mmc="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^mmc/!d; /part/d; /\/mmcblk/!d; s/^.*\(mmcblk..*\)$/\1/')"
disk_nvme="$(ls -l /dev/disk/by-id/ | awk '{ print $9, $11 }' | sed '/^nvme/!d; /part/d; /\/nvme/!d; s/^.*\(nvme...*\)$/\1/')"
[ "$disk_ata" ] || disk_ata="-"
[ "$disk_usb" ] || disk_usb="-"
[ "$disk_mmc" ] || disk_mmc="-"
[ "$disk_nvme" ] || disk_nvme="-"
}
figet_distro() { # thanks neofetch, assigne $distro # 23/09/2017
@ -1062,6 +1080,7 @@ figet_wm() { # thanks neofetch, assigne $wm
}
fipaste(){
f__requis "curl" # requis pour paste
fipaste_curl_pastery "$fileOutput" "$pasteDuration" "$optDebug"
# à tester fipaste_curl_markdownshare "$fileOutput"
}
@ -1226,13 +1245,14 @@ fileLogs="/var/log/sdeb_$script.log"
fileDev="/opt/bin/fileDev"
f__affichage
[ "$(grep -o 'version 4' <<< "$(bash --version)" | awk '{print $2}')" -ge "4" ] || f__error "bash version 4"
f__user && retourFUser=0 || retourFUser="$?"
[ "$retourFUser" -eq 1 ] && f__error "user indéterminé, pour contourner, lancer le script avec:\n USER_INSTALL=user $0 \n"
if [ "$retourFUser" -eq 2 ]; then
f__info "user détecté, mais pas de home: /home/$user_"
noHome="true"
fi
f__requis "awk>gawk wget curl ip>iproute2" # requis pour fonctionnement programme
f__requis "awk>gawk wget ip>iproute2" # requis pour fonctionnement programme
prg_1(){ # début
rm "$fileOutput" &>/dev/null
@ -1243,7 +1263,7 @@ prg_1(){ # début
echo -e "# $script sur $hote \n" > "$fileOutput"
echo -e "Rapport du $dateRapport -- [$script $version]($urlNotice) \n" >> "$fileOutput"
}
prg_2(){ # traitements principaux
prg_2t(){ # traitements principaux
printf " ."
fi_systeme; printf "."
fi_cpu; printf "."

1352
scripts/getInfo-1.25 Executable file

File diff suppressed because it is too large Load Diff

View File

@ -5,8 +5,18 @@
* placer ln dans /usr/local/bin au lieu de /usr/bin ?
* virer f__user
* revoir partitions/disques
* requis curl uniquement pour paste
* utilité figet_battery ou à refaire
* hasher les cmds pour gain temps exécution?
* dmesg, tester cmd au lieu de root
## 1.26.0 26/09/2017
* figet_disk: suppression neofetch
* figet_disk: nouveau avec nouvelles infos et espace disque des partitions montées seulement
* révision partitions/disques, fi_disk
* test bash4 au démarrage
## 1.25.0 25/09/2017
@ -201,4 +211,7 @@ http://ndossougbe.github.io/strapdown/
https://www.pastery.net/api/
license non libre? pas de depot, mais ça marche
## PR neofetch, debian version sur debian pure
## PR neofetch
* debian version sur debian pure
* espaces disques, sur partitions fixes montées?