# ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in thebash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 marker_file=~/.utils_ok host1="1.1.1.1" host2="google.fr" if [ -f "$marker_file" ]; then echo "Mise à jour des outils déjà faite." else touch "$marker_file" apt install -y neofetch mailutils figlet dnsutils net-tools lm-sensors nodejs npm apt install -y libxdamage1 libxkbcommon0 libatk-bridge2.0-0 libatk1.0-0 libasound2 libnss3 cd ~ wget https://github.com/fastfetch-cli/fastfetch/releases/download/2.10.2/fastfetch-linux-amd64.deb dpkg -i fastfetch-linux-amd64.deb npm install --global fast-cli fi # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi export LS_OPTIONS='--color=auto' eval "`dircolors`" alias ls='ls $LS_OPTIONS' alias ll='ls $LS_OPTIONS -l' alias l='ls $LS_OPTIONS -lA' # # Some more alias to avoid making mistakes: alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias maj='apt update && apt full-upgrade -y && apt autoremove -y' alias sp='source .profile' alias ep='nano .profile' clear fastfetch alias disk="df -h 2>/dev/null | grep '/$' | sed -e 's/ /:/g' | sed -e 's/::/:/g' | sed -e 's/::/:/g'| sed -e 's/::/:/g'" echo "Bienvenue sur : $(hostname -f) ($(hostname -I)) !" echo "******************************************************" echo "Note: Toutes actions sur ce serveur sont enregistrees." echo "------------------------------------------------------" echo -e "Date d'installation : $(stat / | grep "Birth" | sed 's/Birth: //g' | cut -b 2-11)" ping -c 1 "$host1" > /dev/null 2>&1 if [ $? -ne 0 ]; then echo -e "\033[0;31mAucune connexion Internet n'est disponible.\033[0m" else nslookup "$host2" > /dev/null 2>&1 if [ $? -ne 0 ]; then echo -e "\033[0;31mAucune connexion DNS n'est disponible.\033[0m" else echo -e "\033[0;32mConnexion à internet : OK.\033[0m" fi fi # Mettre à jour la liste des paquets disponibles apt-get update > /dev/null # Obtenir la liste des mises à jour disponibles updates=$(apt list --upgradable 2>/dev/null | grep -v Listing) if [[ -z "$updates" ]]; then echo -e "\e[32mAucune mise à jour disponible.\e[0m" # Affiche en vert s'il n'y a pas de mise à jour else # Compter les mises à jour de sécurité security_updates_count=$(echo "$updates" | grep -e "\s\(security\|sécurité\)\s" | wc -l) # Compter les autres mises à jour other_updates_count=$(echo "$updates" | grep -v -e "\s\(security\|sécurité\)\s" | wc -l) if [[ $security_updates_count -gt 0 || $other_updates_count -gt 0 ]]; then echo -e "\e[31mNombre de mises à jour de sécurité disponibles : $security_updates_count\e[0m" # Affiche en rouge si des mises à jour sont disponibles echo -e "\e[31mNombre d'autres mises à jour disponibles : $other_updates_count\e[0m" # Affiche en rouge si des mises à jour sont disponibles else echo -e "\e[32mAucune mise à jour disponible.\e[0m" # Affiche en vert s'il n'y a pas de mise à jour fi fi # Utiliser sensors pour obtenir les informations de température temp_info=$(sensors) # Extraire la température du système (généralement associée au processeur ou au package thermique) system_temp=$(echo "$temp_info" | grep "Package" | awk '{print $4}') # Vérifier si la température du système est disponible if [[ -z "$system_temp" ]]; then echo "Impossible de récupérer la température du système." else # Extraire la partie numérique de la température (en enlevant le °C et le décimal) system_temp_int=$(echo "$system_temp" | tr -d '.°C') # Déterminer la couleur en fonction de la température if [[ $system_temp_int -gt 550 ]]; then color='\e[31m' # Rouge pour température > 55°C elif [[ $system_temp_int -ge 350 && $system_temp_int -le 540 ]]; then color='\e[32m' # Vert pour température entre 35°C et 54°C else color='\e[34m' # Bleu pour température < 35°C fi # Afficher la température du système avec la couleur appropriée echo -e "Température du système : ${color}${system_temp}\e[0m" fi cd ~ # Disk : Verification de l'espace restant #FD=$(echo $(df -h 2>/dev/null | grep '/$' | sed -e 's/ /:/g' | sed -e 's/::/:/g' | sed -e 's/::/:/g'| sed -e 's/::/:/g' | cut -d ':' -f5)| cut -d '%' -f1) #[ $FD -lt $MaxHDUse ] && libre="\e[01;32;7m $FD% \e[0m" || libre="\e[41;37;5m $FD% \e[0m" #echo -e "Disk : $(df -h 2>/dev/null | grep '/$' | sed -e 's/ /:/g' | sed -e 's/::/:/g' | sed -e 's/::/:/g'| sed -e 's/::/:/g' | cut -d ':' -f3) / $(df -h 2>/dev/null | grep '/$' | sed -e 's/ /:/g' | sed -e 's/::/:/g' | sed -e 's/::/:/g'| sed -e 's/::/:/g' | cut -d ':' -f4)" # Verification des services Web #pidof "pihole-FTL" >/dev/null && echo -e "Pihole-FTL: \e[01;32;7m Service actif \e[0m" || echo -e "Pihole-FTL : \e[41;37;5m Service inactif \e[0m" #pidof "lighttpd" >/dev/null && echo -e "Lighttpd : \e[01;32;7m Service actif \e[0m" || echo -e "Lighttpd : \e[41;37;5m Service inactif \e[0m" #pidof "mariadbd" >/dev/null && echo -e "MariaDB : \e[01;32;7m Service actif \e[0m" || echo -e "MariaDB : \e[41;37;5m Service inactif \e[0m" #pidof "apache2" >/dev/null && echo -e "Apache2 : \e[01;32;7m Service actif \e[0m" || echo -e "Apache2 : \e[41;37;5m Service inactif \e[0m" # Vérification des agents #pidof "fusioninventory" >/dev/null && echo -e "Fusion : \e[01;32;7m Service actif \e[0m" || echo -e "Fusion : \e[41;37;5m Service inactif \e[0m" # Verification des services Proxmox #pidof "pvedaemon" >/dev/null && echo -e "PVE : \e[01;32;7m Service actif \e[0m" || echo -e "PVE : \e[41;37;5m Service inactif \e[0m" #pidof "pveproxy" >/dev/null && echo -e "PVE-Proxy: \e[01;32;7m Service actif \e[0m" || echo -e "PVE-Proxy: \e[41;37;5m Service inactif \e[0m" # Vérification du serveur de temps #pidof "ntpd" >/dev/null && echo -e "NTP : \e[01;32;7m Service actif \e[0m" || echo -e "NTP : \e[41;37;5m Service inactif \e[0m" # Envoie du mail d'alertes de connexion. echo "Merci de vérifier que vous êtes bien à l'originie de cette connexion." | mail -s "Connexion sur : $HOSTNAME avec le compte : $USER" admin@h3campus.fr # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac figlet H3 Campus fast &