ajout d'un script : png2jpg

ajout d'une fonctionnalité dans updateall : execution d'un script spécfique pour un serveur donné
This commit is contained in:
2025-04-27 10:31:17 +02:00
parent 3b8b279ad4
commit 9e165e8e7c
3 changed files with 70 additions and 2 deletions

50
local/bin/png2jpg.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
# Vérifier que ImageMagick est installé
if ! command -v convert &> /dev/null; then
echo "❌ Le programme 'convert' (ImageMagick) est requis mais non installé." >&2
exit 1
fi
# Vérifier que la commande 'file' est dispo
if ! command -v file &> /dev/null; then
echo "❌ La commande 'file' est requise mais non installée." >&2
exit 1
fi
# Vérifier qu'au moins un fichier est fourni
if [[ $# -eq 0 ]]; then
echo "Utilisation : $0 fichier1 [fichier2 ...]"
echo "Tu peux utiliser des jokers : $0 * img_??"
exit 1
fi
# Boucler sur tous les fichiers passés en paramètre
for file in "$@"; do
# Vérifie que le fichier existe et est un fichier régulier
if [[ ! -f "$file" ]]; then
echo "❌ Fichier ignoré (inexistant ou non régulier) : $file"
continue
fi
# Vérifie le type MIME du fichier (doit être image/png)
mime_type=$(file --mime-type -b "$file")
if [[ "$mime_type" != "image/png" ]]; then
echo "⚠️ Ignoré (pas un PNG selon 'file') : $file"
continue
fi
dir=$(dirname "$file")
base=$(basename "$file")
name="${base%.*}"
dest="${dir}/${name}.jpg"
if [[ -e "$dest" ]]; then
echo "⏩ Le fichier existe déjà : $dest — conversion ignorée"
else
echo "✅ Conversion : $file$dest"
convert "$file" "$dest"
fi
done
echo "✅ Traitement terminé."

View File

@@ -139,6 +139,22 @@ check_host() {
}
run_custom_script() {
local machine="$1"
local custom_script="$HOME/.config/updateall.d/$machine"
if [ -f "$custom_script" ]; then
echo -e " - Exécution du script spécifique pour ${GREEN}$machine${NC}"
# Copier le script sur la machine et l'exécuter
scp "$custom_script" "$machine:/tmp/updateall_custom.sh" && \
ssh -tt "$machine" 'chmod +x /tmp/updateall_custom.sh && sudo /tmp/updateall_custom.sh && sudo rm /tmp/updateall_custom.sh'
else
echo " - Aucun script spécifique pour $machine."
fi
}
# Générer une clé unique
uniqkey=$(uuidgen)
echo "Clé d'installation : $uniqkey"
@@ -181,6 +197,7 @@ for machine in "${machines[@]}"; do
confirm_update "$machine"
update_machine "$machine"
run_custom_script "$machine"
create_installkey "$machine" "$uniqkey"
fi
fi