Compare commits

...

10 Commits
dev ... main

Author SHA1 Message Date
a1bcddb6e4 Actualiser install/docker.sh
gpg key to asc like the official docker install documentation
2024-10-29 21:04:25 +01:00
50617d8e0c Actualiser monitoring/update.sh 2023-12-20 14:24:17 +01:00
bd89f16c70 Actualiser install/packages.sh
Ajout du mode a pour le service needrestart afin de ne pas avoir la demande de validation pour le restart des services qui en ont le besoin
2023-12-11 11:20:22 +01:00
6d4068de38 Actualiser install/docker.sh
Ajout du mode a pour le service needrestart afin de ne pas avoir la fenêtre de validation
2023-12-11 11:19:11 +01:00
c666b5feb9 Update docker.sh 2023-10-21 15:54:34 +02:00
0248e202b0 Changes to be committed:
renamed:    install_docker.sh -> install/docker.sh
	new file:   install/packages.sh
	new file:   monitoring/cpu.sh
	renamed:    update.sh -> monitoring/update.sh
2023-10-21 10:43:19 +02:00
86ebfd59dd Actualiser install_docker.sh 2023-10-20 17:44:59 +02:00
680bd6f46c Ajouter install_docker.sh 2023-10-20 17:30:11 +02:00
038a6bf49f Merge branch 'dev' 2023-08-09 22:14:36 +02:00
4bc19b4a4f Merge pull request 'Actualiser update.sh' (#1) from dev into main
Reviewed-on: #1
2023-08-09 21:54:40 +02:00
4 changed files with 235 additions and 5 deletions

163
install/docker.sh Normal file
View File

@ -0,0 +1,163 @@
#!/bin/bash
# Define colors
GREEN="\e[32m"
CYAN="\e[36m"
RESET="\e[0m"
# ASCII art
docker="${CYAN}
=++++
*####
-====
.****:-****.=***+
:####-=####.*#### :
.====.:==== -==== -##=
+***=.****:-****.=***+ ****= ####*
####*:####-=####.*#### ####+ *####*###*=
====-.====.:==== -==== ====: -########*.
-+++++++++++++++++++++++++++++++**#####==-:
=#####################################:
:###################################*.
*#################################=
.*##############################+.
+##########################*-
.=*####################+-.
.-=+**######**+=-:.
${RESET}"
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "Updating package list"
sleep 2
sudo apt-get update > .temp.log
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "Installing required packages: ca-certificates, curl, gnupg"
sleep 2
sudo apt-get install -y ca-certificates curl gnupg > .temp.log
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "Creating directory /etc/apt/keyrings"
sleep 2
sudo install -m 0755 -d /etc/apt/keyrings
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "${GREEN}Creating directory /etc/apt/keyrings${RESET}"
echo -e "Downloading Docker's GPG key and saving it to /etc/apt/keyrings/docker.gpg"
sleep 2
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "${GREEN}Creating directory /etc/apt/keyrings${RESET}"
echo -e "${GREEN}Downloading Docker's GPG key and saving it to /etc/apt/keyrings/docker.gpg${RESET}"
echo -e "${CYAN}Step 2: Add the repository to Apt sources${RESET}"
echo -e "Adding the Docker repository to Apt sources"
sleep 2
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "${GREEN}Creating directory /etc/apt/keyrings${RESET}"
echo -e "${GREEN}Downloading Docker's GPG key and saving it to /etc/apt/keyrings/docker.gpg${RESET}"
echo -e "${CYAN}Step 2: Add the repository to Apt sources${RESET}"
echo -e "${GREEN}Adding the Docker repository to Apt sources${RESET}"
echo -e "Updating package list with Docker repository"
sleep 2
sudo apt-get update > .temp.log
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "${GREEN}Creating directory /etc/apt/keyrings${RESET}"
echo -e "${GREEN}Downloading Docker's GPG key and saving it to /etc/apt/keyrings/docker.gpg${RESET}"
echo -e "${CYAN}Step 2: Add the repository to Apt sources${RESET}"
echo -e "${GREEN}Adding the Docker repository to Apt sources${RESET}"
echo -e "${GREEN}Updating package list with Docker repository${RESET}"
echo -e "${CYAN}Step 3: Install Docker${RESET}"
echo -e "Installing Docker and related packages"
sleep 2
sudo NEEDRESTART_MODE=a apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin > .temp.log
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "${GREEN}Creating directory /etc/apt/keyrings${RESET}"
echo -e "${GREEN}Downloading Docker's GPG key and saving it to /etc/apt/keyrings/docker.gpg${RESET}"
echo -e "${CYAN}Step 2: Add the repository to Apt sources${RESET}"
echo -e "${GREEN}Adding the Docker repository to Apt sources${RESET}"
echo -e "${GREEN}Updating package list with Docker repository${RESET}"
echo -e "${CYAN}Step 3: Install Docker${RESET}"
echo -e "${GREEN}Installing Docker and related packages${RESET}"
echo -e "Added $USER to Docker group"
sleep 2
sudo adduser $USER docker
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "${GREEN}Creating directory /etc/apt/keyrings${RESET}"
echo -e "${GREEN}Downloading Docker's GPG key and saving it to /etc/apt/keyrings/docker.gpg${RESET}"
echo -e "${CYAN}Step 2: Add the repository to Apt sources${RESET}"
echo -e "${GREEN}Adding the Docker repository to Apt sources${RESET}"
echo -e "${GREEN}Updating package list with Docker repository${RESET}"
echo -e "${CYAN}Step 3: Install Docker${RESET}"
echo -e "${GREEN}Installing Docker and related packages${RESET}"
echo -e "${GREEN}Added $USER to Docker group${RESET}"
echo -e "${CYAN}Step 4: Verify Docker Installation${RESET}"
echo -e "Running a test container to verify Docker installation"
sudo docker run hello-world
sleep 2
clear
echo -e "${docker}"
echo -e "${CYAN}Step 1: Add Docker's official GPG key${RESET}"
echo -e "${GREEN}Updating package list${RESET}"
echo -e "${GREEN}Installing required packages: ca-certificates, curl, gnupg${RESET}"
echo -e "${GREEN}Creating directory /etc/apt/keyrings${RESET}"
echo -e "${GREEN}Downloading Docker's GPG key and saving it to /etc/apt/keyrings/docker.gpg${RESET}"
echo -e "${CYAN}Step 2: Add the repository to Apt sources${RESET}"
echo -e "${GREEN}Adding the Docker repository to Apt sources${RESET}"
echo -e "${GREEN}Updating package list with Docker repository${RESET}"
echo -e "${CYAN}Step 3: Install Docker${RESET}"
echo -e "${GREEN}Installing Docker and related packages${RESET}"
echo -e "${GREEN}Added $USER to Docker group${RESET}"
echo -e "${CYAN}Step 4: Verify Docker Installation${RESET}"
echo -e "${GREEN}Running a test container to verify Docker installation${RESET}"
sleep 1
sudo rm .temp.log
echo ""
echo -e "${CYAN}Docker installation and verification complete.${RESET}"
echo ""

31
install/packages.sh Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
# Define color codes
GREEN='\033[0;32m'
RED='\033[0;31m'
RESET='\033[0m' # No Color
# Packages list
packages=(
"exa" # Better than ls
"bat" # Better than cat
"btop" # Betther than top
"ncdu" # Better than du -h
"duf" # Better than df -h
"neofetch" # Because it's cool
"git" # Because git
)
# Packages installation
clear
echo "Mise à jour de la liste des paquets..."
echo " "
sudo apt update >/dev/null 2>&1
echo "Installation des paquets :"
for package in "${packages[@]}"; do
if sudo NEEDRESTART_MODE=a apt install "$package" -y >/dev/null 2>&1; then
echo -e " - Installation de $package : ${GREEN}ok${RESET}"
else
echo -e " - Installation de $package : ${RED}échoué${RESET}"
fi
done

35
monitoring/cpu.sh Normal file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# URL ntfy
NTFY_URL="my_url"
# Chemin vers le fichier journal
LOG_FILE="/var/log/cpu.log"
# Seuil de charge CPU en pourcentage
SEUIL_CPU=70
# Obtenir le nom du serveur à partir du hostname
SERVER_NAME=$(hostname)
# Fonction pour obtenir la charge CPU actuelle
get_cpu_load() {
# Utilisation de la commande 'top' pour obtenir la charge CPU
cpu_load=$(top -bn1 | awk '/%Cpu/ {print $2}' | cut -d "." -f 1)
echo "$cpu_load"
}
# Vérifier la charge CPU et envoyer une notification si nécessaire
check_cpu_load() {
cpu_usage=$(get_cpu_load)
if [ "$cpu_usage" -gt "$SEUIL_CPU" ]; then
#top_processes=$(get_top_processes)
date >> $LOG_FILE
ps aux --sort=-%cpu | head -n 6 >> $LOG_FILE
message="La charge CPU du serveur ${SERVER_NAME} est de ${cpu_usage}% (seuil: ${SEUIL_CPU}%) voir logs dans /var/log/cpu.log"
title="!!!CPU(${SERVER_NAME})!!!"
curl -d "$message" ntfy.sh/$NTFY_URL?title=$title
fi
}
# Appeler la fonction pour vérifier la charge CPU
check_cpu_load

View File

@ -13,17 +13,18 @@ reset='\033[0m'
# Update and log
echo "Mise à jour des paquets..."
apt update > /dev/null 2>&1
echo ">>-----Dernière MAJ : $(date +'%d/%m %H:%M')-----<<" > /var/log/update.log
echo "Dernière MAJ : $(date +'%d/%m %H:%M')" > /var/log/update.log
update=$(apt --just-print upgrade 2>/dev/null | grep 'Inst' | wc -l)
message="$update mises à jour peuvent être appliquées immédiatement"
if [ "$update" -ne 0 ]; then
if [ "$update" -lt 2 ]; then
echo -e "${green}$update mise à jour peut être appliquée immédiatement${reset}" | tee -a /var/log/update.log
elif [ "$update" -lt 10 ]; then
echo -e "${green}$update mises à jour peuvent être appliquées immédiatement${reset}" | tee -a /var/log/update.log
echo -e "${green}$message${reset}" | tee -a /var/log/update.log
elif [ "$update" -lt 20 ]; then
echo -e "${orange}$update mises à jour peuvent être appliquées immédiatement${reset}" | tee -a /var/log/update.log
echo -e "${orange}$message${reset}" | tee -a /var/log/update.log
elif [ "$update" -ge 20 ]; then
echo -e "${red}$update mises à jour peuvent être appliquées immédiatement${reset}" | tee -a /var/log/update.log
echo -e "${red}$message${reset}" | tee -a /var/log/update.log
fi
else
echo -e "${green}Tous les paquets sont à jour${reset}" | tee -a /var/log/update.log
@ -36,4 +37,4 @@ fi
if [ -f /var/run/reboot-required ]; then
echo -e "${orange}Un redémarrage est requis pour finaliser les mises à jour${reset}" | tee -a /var/log/update.log
fi
fi