bashrc/.profile

159 lines
6.8 KiB
Bash

# ~/.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 &