This commit is contained in:
Tenzing Kandang 2025-12-28 17:12:01 +01:00
parent a138e09bd6
commit 8ab879bc8f

View File

@ -1,42 +1,29 @@
#!/bin/bash #!/bin/bash
DIR=/opt/grabber DIR=/opt/grabber/
SUCCESS_LOG=/var/log/grabber/grabber-success.log SUCCESS_LOG=/var/log/grabber/grabber-success.log
ERROR_LOG=/var/log/grabber/grabber-error.log ERROR_LOG=/var/log/grabber/grabber-error.log
SUM="$DIR/summary.txt" SUM="$DIR/summary.txt"
#lspci -nn > $DIR/lspci.cmd
#lsusb > $DIR/lsusb.cmd
#apt list --installed > $DIR/apt.cmd
#systemd-analyze > $DIR/systemd-analyze.cmd
#systemd-analyze blame | head -n 10 > $DIR/systemd-blame.cmd
#lscpu > $DIR/lscpu.cmd
#lshw-gtk > $DIR/lshw-gtk.cmd
#inxi > $DIR/inxi.cmd
#lsmem > $DIR/lsmem.cmd
# Affichage du texte de démarrage # Affichage du texte de démarrage
tee $SUCCESS_LOG $ERROR_LOG <<EOF1
+++++++++++++++++++++++++++++++++++++++
+ +++++
+ Welcome to Grabber +++++
+ +++++++
+++++++++++++++++++++++++++++++++++++++
Récupération des informations sur les paquets.. echo " ++++++++++++++++++++++++++++++++++"
------------------------------------------------- echo " + Welcome to Grabber +"
EOF1 echo " ++++++++++++++++++++++++++++++++++"
echo " "
# Fichier /etc/apt/sources.list #Array File
tee -a $SUCCESS_LOG $ERROR_LOG <<EOF2
Copie du fichier de configuration /etc/apt/sources.list
EOF2
cat /etc/apt/sources.list 2> >(tee -a $ERROR_LOG) >$DIR/sources-list.file \
&& echo "[OK]: Fichier sources-list.file généré" |tee -a $SUCCESS_LOG \
|| echo "[ECHEC]: Erreur à la génération de sources-list.file" |tee -a $ERROR_LOG
# Commande apt list --installed
tee -a $SUCCESS_LOG $ERROR_LOG <<EOF3
Récupération de la liste des paquets installés..
--------------------------------------------------
EOF3
apt list --installed 2> >(tee -a $ERROR_LOG) >$DIR/apt-installed.cmd \
&& echo "[OK]: Fichier apt-installed.cmd généré" |tee -a $SUCCESS_LOG \
|| echo "[ECHEC]: Erreur à la génération de apt-installed.cmd" |tee -a $ERROR_LOG
# array
declare -a DEVICES declare -a DEVICES
mapfile -t DEVICES < <(lsblk -dn -o NAME |grep -v loop) mapfile -t DEVICES < <(lsblk -dn -o NAME |grep -v loop)
@ -48,31 +35,15 @@ FILES=(
"ssh_config.file" "/etc/ssh/ssh_config" "ssh_config.file" "/etc/ssh/ssh_config"
) )
#treat_file() { treat_file() {
# echo "Les arguments: $@" echo "Copie de fichier: $@"
# cat $2 |grep -v '^#' | grep -v '^$' >>$DIR/$1 cat $2 |grep -v '^#' | grep -v '^$' >$DIR/$1
#} }
#treat_file sources_list.file /etc/apt/sources.list for file in ${!FILES[@]}; do
treat_file $file ${FILES[$file]}
done
#for file in ${!FILES[@]}; do
# treat_file $file ${FILES[$file]}
#done
#cat /etc/ssh/ssh_config > $DIR/ssh_config.file
#cat /etc/passwd > $DIR/passwd.file
#cat /etc/group > $DIR/group.file
#lspci -nn > $DIR/lspci.cmd
#lsusb > $DIR/lsusb.cmd
#apt list --installed > $DIR/apt.cmd
#systemd-analyze > $DIR/systemd-analyze.cmd
#systemd-analyze blame | head -n 10 > $DIR/systemd-blame.cmd
#lscpu > $DIR/lscpu.cmd
#lshw-gtk > $DIR/lshw-gtk.cmd
#inxi > $DIR/inxi.cmd
#lsmem > $DIR/lsmem.cmd
hardware() {
declare -A PARTITIONS_BY_DISK declare -A PARTITIONS_BY_DISK
for disk in ${DEVICES[@]}; do for disk in ${DEVICES[@]}; do
@ -80,8 +51,8 @@ for disk in ${DEVICES[@]}; do
disk_parts=$(lsblk -nr -o PKNAME,PATH $disk_path |grep -vE "^ " |cut -d \ -f2) disk_parts=$(lsblk -nr -o PKNAME,PATH $disk_path |grep -vE "^ " |cut -d \ -f2)
PARTITIONS_BY_DISK[$disk]=${disk_parts[@]} PARTITIONS_BY_DISK[$disk]=${disk_parts[@]}
done done
echo " " echo " "
echo "INFOS ORDINATEUR"
echo "Combien de disques sur l'ordinateur ? ${#DEVICES[@]}" echo "Combien de disques sur l'ordinateur ? ${#DEVICES[@]}"
echo "keys: ${!PARTITIONS_BY_DISK[@]}" echo "keys: ${!PARTITIONS_BY_DISK[@]}"
echo "values: ${PARTITIONS_BY_DISK[@]}" echo "values: ${PARTITIONS_BY_DISK[@]}"
@ -92,33 +63,38 @@ for disk in ${!PARTITIONS_BY_DISK[@]}; do
echo "PARTS_$disk=$(printf '%s ' ${PARTITIONS_BY_DISK[$disk]})" >>$SUM echo "PARTS_$disk=$(printf '%s ' ${PARTITIONS_BY_DISK[$disk]})" >>$SUM
done done
echo "[HARDWARE]" >>$SUM hardware() {
echo "CPU=$(lscpu -eMODELNAME |tail -n1)" >>$SUM echo " "
echo "CPU_ID=$(sudo dmidecode -t processor |grep ID |cut -d: -f2)" >>$SUM echo "[HARDWARE]"
echo "CPU=$(lscpu -eMODELNAME |tail -n1)"
echo "CPU_ID=$(sudo dmidecode -t processor |grep ID |cut -d: -f2)"
RAM_SIZE=$(lsmem |grep "Mémoire partagée" |cut -d: -f2 |sed 's/\ //g') RAM_SIZE=$(lsmem |grep "Mémoire partagée" |cut -d: -f2 |sed 's/\ //g')
RAM_GEN=$(sudo dmidecode -t memory |grep Type: |grep -v Unknown |tail -n1 |cut -d: -f2 |sed 's/\ //') RAM_GEN=$(sudo dmidecode -t memory |grep Type: |grep -v Unknown |tail -n1 |cut -d: -f2 |sed 's/\ //')
echo "RAM=$RAM_SIZE $RAM_GEN" >>$SUM echo "RAM=$RAM_SIZE $RAM_GEN"
echo "RAM_SIZE=$RAM_SIZE" >>$SUM echo "RAM_SIZE=$RAM_SIZE"
echo "RAM_GEN=$RAM_GEN" >>$SUM echo "RAM_GEN=$RAM_GEN"
sizes=$(lsblk -dnb |grep -v loop |grep -v boot |tr -s " " |cut -d \ -f4) >>$SUM sizes=$(lsblk -dnb |grep -v loop |grep -v boot |tr -s " " |cut -d \ -f4)
STOCKAGE_TOTAL=0 STOCKAGE_TOTAL=0
for SIZE in ${sizes[@]};do for SIZE in ${sizes[@]};do
STOCKAGE_TOTAL+=$SIZE STOCKAGE_TOTAL+=$SIZE
done done
STOCKAGE_TOTAL=$(numfmt --to iec $STOCKAGE_TOTAL) STOCKAGE_TOTAL=$(numfmt --to iec $STOCKAGE_TOTAL)
echo "STOCKAGE_TOTAL=$STOCKAGE_TOTAL" >>$SUM echo "STOCKAGE_TOTAL=$STOCKAGE_TOTAL"
} } >>$SUM
hardware
software() { software() {
echo "[SOFTWARE]" >>$SUM echo " "
echo "OS=$(lsb_release -a |grep Description |cut -f2)" >>$SUM echo "[SOFTWARE]"
echo "ARCH=$(uname -m)" >>$SUM echo "OS=$(lsb_release -a |grep Description |cut -f2)"
echo "DESKTOP=$XDG_CURRENT_DESKTOP" >>$SUM echo "ARCH=$(uname -m)"
echo "WM=$XDG_SESSION_TYPE" >>$SUM echo "DESKTOP=$XDG_CURRENT_DESKTOP"
echo "KERNEL=$(uname -r)" >>$SUM echo "WM=$XDG_SESSION_TYPE"
} echo "KERNEL=$(uname -r)"
} >>$SUM
hardware
software software
echo " "
echo "Fichier summary.txt a été crée avec les infos hardware et software du système :)"