#!/bin/bash DIR=/opt/grabber SUCCESS_LOG=/var/log/grabber/grabber-success.log ERROR_LOG=/var/log/grabber/grabber-error.log SUM="$DIR/summary.txt" # Affichage du texte de démarrage tee $SUCCESS_LOG $ERROR_LOG < >(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 < >(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 mapfile -t DEVICES < <(lsblk -dn -o NAME |grep -v loop) declare -A FILES FILES=( "sources_list.file" "/etc/apt/sources.list" "passwd.file" "/etc/passwd" "group.file" "/etc/group" "ssh_config.file" "/etc/ssh/ssh_config" ) #treat_file() { # echo "Les arguments: $@" # 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 #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 for disk in ${DEVICES[@]}; do disk_path=$(printf '/dev/%s' "$disk") disk_parts=$(lsblk -nr -o PKNAME,PATH $disk_path |grep -vE "^ " |cut -d \ -f2) PARTITIONS_BY_DISK[$disk]=${disk_parts[@]} done echo " " echo "INFOS ORDINATEUR" echo "Combien de disques sur l'ordinateur ? ${#DEVICES[@]}" echo "keys: ${!PARTITIONS_BY_DISK[@]}" echo "values: ${PARTITIONS_BY_DISK[@]}" echo DEVICES=${DEVICES[@]} >$SUM for disk in ${!PARTITIONS_BY_DISK[@]}; do echo "PARTS_$disk=$(printf '%s ' ${PARTITIONS_BY_DISK[$disk]})" >>$SUM done echo "[HARDWARE]" >>$SUM echo "CPU=$(lscpu -eMODELNAME |tail -n1)" >>$SUM echo "CPU_ID=$(sudo dmidecode -t processor |grep ID |cut -d: -f2)" >>$SUM 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/\ //') echo "RAM=$RAM_SIZE $RAM_GEN" >>$SUM echo "RAM_SIZE=$RAM_SIZE" >>$SUM echo "RAM_GEN=$RAM_GEN" >>$SUM sizes=$(lsblk -dnb |grep -v loop |grep -v boot |tr -s " " |cut -d \ -f4) >>$SUM STOCKAGE_TOTAL=0 for SIZE in ${sizes[@]};do STOCKAGE_TOTAL+=$SIZE done STOCKAGE_TOTAL=$(numfmt --to iec $STOCKAGE_TOTAL) echo "STOCKAGE_TOTAL=$STOCKAGE_TOTAL" >>$SUM } hardware software() { echo "[SOFTWARE]" >>$SUM echo "OS=$(lsb_release -a |grep Description |cut -f2)" >>$SUM echo "ARCH=$(uname -m)" >>$SUM echo "DESKTOP=$XDG_CURRENT_DESKTOP" >>$SUM echo "WM=$XDG_SESSION_TYPE" >>$SUM echo "KERNEL=$(uname -r)" >>$SUM } software