sdf
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
trierPhotos.php
|
||||||
updateall.sh
|
updateall.sh
|
||||||
castopod_update.sh
|
castopod_update.sh
|
||||||
check_domain_cert.sh
|
check_domain_cert.sh
|
||||||
@@ -13,6 +14,5 @@ podcast_convertImage.sh
|
|||||||
random_music_player.sh
|
random_music_player.sh
|
||||||
ssh-add-config.sh
|
ssh-add-config.sh
|
||||||
update_bullseye2buster.sh
|
update_bullseye2buster.sh
|
||||||
trierPhotos.php
|
|
||||||
generate_playlist_fp.php
|
generate_playlist_fp.php
|
||||||
ytdll
|
ytdll
|
||||||
|
|||||||
@@ -21,99 +21,156 @@ function logMessage($file, $message) {
|
|||||||
echo $message . "\n";
|
echo $message . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détermine le chemin de destination final selon les règles :
|
||||||
|
* - Si dest n’existe pas -> renvoie ce chemin (string).
|
||||||
|
* - S’il existe et SHA1 identique -> renvoie false (doublon déjà présent).
|
||||||
|
* - Sinon, tente filename_1.ext, filename_2.ext, ... :
|
||||||
|
* - si l’un existe et a le même SHA1 -> false (déjà présent sous variante).
|
||||||
|
* - sinon renvoie le premier nom libre.
|
||||||
|
*/
|
||||||
|
function computeDestinationPath(string $src, string $destDir, string $baseName): string|false {
|
||||||
|
$srcSha1 = @sha1_file($src);
|
||||||
|
if ($srcSha1 === false) return false;
|
||||||
|
|
||||||
|
$destPath = $destDir . '/' . $baseName;
|
||||||
|
if (!file_exists($destPath)) {
|
||||||
|
return $destPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
$dstSha1 = @sha1_file($destPath);
|
||||||
|
if ($dstSha1 !== false && hash_equals($srcSha1, $dstSha1)) {
|
||||||
|
return false; // doublon exact déjà en place
|
||||||
|
}
|
||||||
|
|
||||||
|
$pi = pathinfo($baseName);
|
||||||
|
$name = $pi['filename'] ?? $baseName;
|
||||||
|
$ext = isset($pi['extension']) ? ('.' . $pi['extension']) : '';
|
||||||
|
|
||||||
|
for ($i = 1; $i <= 10000; $i++) {
|
||||||
|
$candidate = $destDir . '/' . $name . '_' . $i . $ext;
|
||||||
|
if (!file_exists($candidate)) {
|
||||||
|
return $candidate; // premier nom libre
|
||||||
|
}
|
||||||
|
// si existe, comparer le SHA1
|
||||||
|
$candSha1 = @sha1_file($candidate);
|
||||||
|
if ($candSha1 !== false && hash_equals($srcSha1, $candSha1)) {
|
||||||
|
return false; // déjà présent sous une variante
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false; // garde-fou
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Déplace un fichier (rename sinon copy+unlink) */
|
||||||
|
function moveFile(string $src, string $dst): bool {
|
||||||
|
// Essai direct
|
||||||
|
if (@rename($src, $dst)) return true;
|
||||||
|
// Fallback inter-filesystems
|
||||||
|
if (@copy($src, $dst)) {
|
||||||
|
if (@unlink($src)) return true;
|
||||||
|
// rollback si on n'arrive pas à supprimer la source
|
||||||
|
@unlink($dst);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
logMessage($file_log, "Début du script : " . date("c"));
|
logMessage($file_log, "Début du script : " . date("c"));
|
||||||
logMessage($file_log, "Lieu d'exécution : " . getcwd());
|
logMessage($file_log, "Lieu d'exécution : " . getcwd());
|
||||||
|
|
||||||
if ($handle = opendir('.')) {
|
if ($handle = opendir('.')) {
|
||||||
while (($entry = readdir($handle)) !== false) {
|
while (($entry = readdir($handle)) !== false) {
|
||||||
if ($entry === '.' || $entry === '..') continue;
|
if ($entry === '.' || $entry === '..') continue;
|
||||||
|
if (!is_file($entry)) continue; // ignore dossiers et liens
|
||||||
|
|
||||||
$mime_type = explode("/", mime_content_type($entry));
|
$mime = @mime_content_type($entry) ?: '';
|
||||||
|
$mime_type = explode("/", $mime . '/');
|
||||||
logMessage($file_log, "\nFichier détecté : $entry");
|
logMessage($file_log, "\nFichier détecté : $entry");
|
||||||
logMessage($file_log, "MIME type : {$mime_type[0]}");
|
logMessage($file_log, "MIME type : {$mime_type[0]}");
|
||||||
|
|
||||||
$traitement_ok = in_array($mime_type[0], ['image', 'video']);
|
$traitement_ok = in_array($mime_type[0], ['image', 'video'], true);
|
||||||
$dateTimeOriginal = null;
|
$dateTimeOriginal = null;
|
||||||
|
|
||||||
// Lecture des métadonnées EXIF
|
// EXIF (JPEG uniquement)
|
||||||
if ($traitement_ok && $mime_type[0] === 'image' && $mime_type[1] === 'jpeg') {
|
if ($traitement_ok && $mime_type[0] === 'image' && ($mime_type[1] ?? '') === 'jpeg') {
|
||||||
$file_exif = @exif_read_data($entry, 'EXIF');
|
$file_exif = @exif_read_data($entry, 'EXIF');
|
||||||
if (!empty($file_exif['DateTimeOriginal'])) {
|
if (!empty($file_exif['DateTimeOriginal'])) {
|
||||||
$date_exif = explode(':', str_replace(' ', ':', $file_exif['DateTimeOriginal']));
|
$date_exif = explode(':', str_replace(' ', ':', $file_exif['DateTimeOriginal']));
|
||||||
|
if (count($date_exif) >= 3) {
|
||||||
$dateTimeOriginal = [
|
$dateTimeOriginal = [
|
||||||
'y' => $date_exif[0],
|
'y' => (int)$date_exif[0],
|
||||||
'm' => $date_exif[1],
|
'm' => (int)$date_exif[1],
|
||||||
'd' => $date_exif[2]
|
'd' => (int)$date_exif[2]
|
||||||
];
|
];
|
||||||
logMessage($file_log, "EXIF DateTimeOriginal : {$file_exif['DateTimeOriginal']}");
|
logMessage($file_log, "EXIF DateTimeOriginal : {$file_exif['DateTimeOriginal']}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Détection via le nom du fichier
|
// Nom du fichier
|
||||||
if (!$dateTimeOriginal) {
|
if (!$dateTimeOriginal) {
|
||||||
if (preg_match('/^(IMG-|VID_|IMG_|VID-)(\d{4})(\d{2})(\d{2})/', $entry, $matches)) {
|
if (preg_match('/^(IMG-|VID_|IMG_|VID-)(\d{4})(\d{2})(\d{2})/i', $entry, $m)) {
|
||||||
$dateTimeOriginal = [
|
$dateTimeOriginal = ['y' => (int)$m[2], 'm' => (int)$m[3], 'd' => (int)$m[4]];
|
||||||
'y' => $matches[2],
|
|
||||||
'm' => $matches[3],
|
|
||||||
'd' => $matches[4]
|
|
||||||
];
|
|
||||||
logMessage($file_log, "Date extraite du nom de fichier.");
|
logMessage($file_log, "Date extraite du nom de fichier.");
|
||||||
} elseif (preg_match('/^Screenshot_(\d{4})(\d{2})(\d{2})/', $entry, $matches)) {
|
} elseif (preg_match('/^Screenshot_(\d{4})(\d{2})(\d{2})/i', $entry, $m)) {
|
||||||
$dateTimeOriginal = [
|
$dateTimeOriginal = ['y' => (int)$m[1], 'm' => (int)$m[2], 'd' => (int)$m[3]];
|
||||||
'y' => $matches[1],
|
logMessage($file_log, "Date extraite du nom de fichier (Screenshot_...).");
|
||||||
'm' => $matches[2],
|
|
||||||
'd' => $matches[3]
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vérification et correction des dates
|
// Sanity check des dates
|
||||||
if ($dateTimeOriginal) {
|
if ($dateTimeOriginal) {
|
||||||
if ($dateTimeOriginal['m'] < 1 || $dateTimeOriginal['m'] > 12 ||
|
if ($dateTimeOriginal['m'] < 1 || $dateTimeOriginal['m'] > 12 ||
|
||||||
$dateTimeOriginal['d'] < 1 || $dateTimeOriginal['d'] > 31 ||
|
$dateTimeOriginal['d'] < 1 || $dateTimeOriginal['d'] > 31 ||
|
||||||
$dateTimeOriginal['y'] < 1900 || $dateTimeOriginal['y'] > date('Y')) {
|
$dateTimeOriginal['y'] < 1900 || $dateTimeOriginal['y'] > (int)date('Y')) {
|
||||||
$dateTimeOriginal = null;
|
$dateTimeOriginal = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Utilisation de la date de modification si aucune autre date trouvée
|
// À défaut, mtime
|
||||||
if (!$dateTimeOriginal) {
|
if (!$dateTimeOriginal) {
|
||||||
$date_modif = explode(':', date('Y:m:d', filemtime($entry)));
|
$date_modif = explode(':', date('Y:m:d', @filemtime($entry) ?: time()));
|
||||||
$dateTimeOriginal = [
|
$dateTimeOriginal = [
|
||||||
'y' => $date_modif[0],
|
'y' => (int)$date_modif[0],
|
||||||
'm' => $date_modif[1],
|
'm' => (int)$date_modif[1],
|
||||||
'd' => $date_modif[2]
|
'd' => (int)$date_modif[2]
|
||||||
];
|
];
|
||||||
|
logMessage($file_log, "Date issue du mtime : {$date_modif[0]}-{$date_modif[1]}-{$date_modif[2]}");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Création du dossier de destination et déplacement
|
// Dossier + déplacement
|
||||||
if ($dateTimeOriginal) {
|
if ($dateTimeOriginal) {
|
||||||
$rep_dest = "{$dateTimeOriginal['y']}/{$dateTimeOriginal['m']}/{$dateTimeOriginal['d']}";
|
$rep_dest = sprintf('%04d/%02d/%02d', $dateTimeOriginal['y'], $dateTimeOriginal['m'], $dateTimeOriginal['d']);
|
||||||
if (!is_dir($rep_dest)) {
|
if (!is_dir($rep_dest)) {
|
||||||
mkdir($rep_dest, 0777, true);
|
if (!mkdir($rep_dest, 0777, true) && !is_dir($rep_dest)) {
|
||||||
|
logMessage($file_log, "[ERREUR] Impossible de créer le dossier : $rep_dest");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
logMessage($file_log, "Dossier créé : $rep_dest");
|
logMessage($file_log, "Dossier créé : $rep_dest");
|
||||||
}
|
}
|
||||||
|
|
||||||
$file_dest = "$rep_dest/$entry";
|
$finalPath = computeDestinationPath($entry, $rep_dest, basename($entry));
|
||||||
if (file_exists($file_dest)) {
|
if ($finalPath === false) {
|
||||||
$md5_src = md5_file($entry);
|
// Un doublon identique existe déjà quelque part dans $rep_dest
|
||||||
$md5_dst = md5_file($file_dest);
|
if (@unlink($entry)) {
|
||||||
|
logMessage($file_log, "[INFO] Doublon exact détecté -> source supprimée : $entry");
|
||||||
if ($md5_src === $md5_dst) {
|
// Undo = rien à faire (le fichier existe déjà en dest)
|
||||||
unlink($entry);
|
|
||||||
logMessage($file_log, "[INFO] Doublon exact détecté et supprimé : $file_dest");
|
|
||||||
} else {
|
} else {
|
||||||
// Générer un nom unique en ajoutant un suffixe MD5 ou un timestamp
|
logMessage($file_log, "[ERREUR] Impossible de supprimer la source doublon : $entry");
|
||||||
$file_info = pathinfo($entry);
|
|
||||||
$new_filename = $file_info['filename'] . "_" . substr($md5_src, 0, 8) . "." . $file_info['extension'];
|
|
||||||
$file_dest_unique = "$rep_dest/$new_filename";
|
|
||||||
|
|
||||||
rename($entry, $file_dest_unique);
|
|
||||||
logMessage($file_log, "[INFO] Conflit évité, fichier renommé et déplacé : $file_dest_unique");
|
|
||||||
file_put_contents($file_undo, "mv \"$file_dest_unique\" \"$entry\"\n", FILE_APPEND);
|
|
||||||
}
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Déplacer (rename, sinon copy+unlink)
|
||||||
|
if (moveFile($entry, $finalPath)) {
|
||||||
|
logMessage($file_log, "[OK] Déplacé : $entry → $finalPath");
|
||||||
|
file_put_contents($file_undo, "mv \"$finalPath\" \"$entry\"\n", FILE_APPEND);
|
||||||
|
} else {
|
||||||
|
logMessage($file_log, "[ERREUR] Échec du déplacement : $entry → $finalPath");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir($handle);
|
closedir($handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logMessage($file_log, "Fin du script : " . date("c"));
|
||||||
|
|
||||||
|
|||||||
@@ -18,10 +18,42 @@ SSH_TIMEOUT="5"
|
|||||||
|
|
||||||
run_ssh() {
|
run_ssh() {
|
||||||
local machine="$1"
|
local machine="$1"
|
||||||
local cmd="$2"
|
local start_time=$(date +%s)
|
||||||
timeout "$SSH_TIMEOUT" ssh $SSH_OPTS "$machine" "$cmd"
|
shift
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
ssh "$machine" 'bash -s' < /dev/stdin
|
||||||
|
else
|
||||||
|
ssh "$machine" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local end_time=$(date +%s)
|
||||||
|
local duration=$(( end_time - start_time ))
|
||||||
|
echo -e " ⏱️ Durée : ${duration}s"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extract_stats_block() {
|
||||||
|
local label="$1"
|
||||||
|
grep -A2 "^>>> $label" "$logfile" | grep -E '^[0-9]+ mis à jour' | tail -n1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
parse_summary_line() {
|
||||||
|
awk '
|
||||||
|
{
|
||||||
|
updated += $1
|
||||||
|
installed += $4
|
||||||
|
removed += $7
|
||||||
|
last_notup = $11
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
print updated, installed, removed, (last_notup ? last_notup : 0)
|
||||||
|
}'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
run_scp() {
|
run_scp() {
|
||||||
local src="$1"
|
local src="$1"
|
||||||
local dest="$2"
|
local dest="$2"
|
||||||
@@ -30,46 +62,107 @@ run_scp() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Fonction pour mettre à jour avec apt
|
|
||||||
update_with_apt() {
|
update_with_apt() {
|
||||||
local machine="$1"
|
local machine="$1"
|
||||||
local tmpfile="/tmp/update_${machine}_$(date +%s).log"
|
local uniqkey="$2"
|
||||||
|
|
||||||
|
local start_time=$(date +%s)
|
||||||
|
|
||||||
echo -e " - Mise à jour avec apt-get sur $machine \n"
|
echo -e " - Mise à jour avec apt-get sur $machine \n"
|
||||||
|
|
||||||
# Exécution distante avec apt-get uniquement, log récupéré localement
|
stats_tmp=$(mktemp)
|
||||||
run_ssh "$machine" '
|
|
||||||
set -e
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
LOGFILE=$(mktemp)
|
|
||||||
|
|
||||||
sudo apt-get -y -q clean
|
run_ssh "$machine" <<'EOF' | tee "$stats_tmp"
|
||||||
sudo apt-get -y -q update
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
sudo apt-get -y -q --with-new-pkgs full-upgrade >> "$LOGFILE" 2>&1
|
|
||||||
sudo apt-get -y -q autoremove >> "$LOGFILE" 2>&1
|
|
||||||
|
|
||||||
cat "$LOGFILE"
|
echo ">>> clean"
|
||||||
rm -f "$LOGFILE"
|
sudo apt-get -y clean
|
||||||
' > "$tmpfile"
|
|
||||||
|
|
||||||
# Analyse locale du log pour extraire les lignes intéressantes
|
echo ">>> update"
|
||||||
updates=$(grep "^Les paquets suivants seront mis à jour" "$tmpfile" | wc -w)
|
sudo apt-get update
|
||||||
installs=$(grep "^Les NOUVEAUX paquets suivants seront installés" "$tmpfile" | wc -w)
|
|
||||||
removes=$(grep "^Les paquets suivants seront ENLEVÉS" "$tmpfile" | wc -w)
|
|
||||||
|
|
||||||
# Retirer le nombre de mots fixes d’en-tête pour chaque ligne
|
echo ">>> check-upgrade"
|
||||||
updates=$(( updates > 6 ? updates - 6 : 0 ))
|
UPGRADABLE=$(apt-get -s upgrade | grep "^Inst" | wc -l)
|
||||||
installs=$(( installs > 8 ? installs - 8 : 0 ))
|
|
||||||
removes=$(( removes > 6 ? removes - 6 : 0 ))
|
|
||||||
|
|
||||||
if [ "$updates" -gt 0 ] || [ "$installs" -gt 0 ] || [ "$removes" -gt 0 ]; then
|
if [ "${UPGRADABLE:-0}" -gt 0 ] 2>/dev/null; then
|
||||||
echo -e "📦 ${GREEN}$machine${NC} : $updates mis à jour, $installs installés, $removes supprimés"
|
echo ">>> upgrade"
|
||||||
|
sudo apt-get -y upgrade
|
||||||
|
|
||||||
|
echo ">>> full-upgrade"
|
||||||
|
sudo apt-get -y full-upgrade
|
||||||
|
|
||||||
|
echo ">>> autoremove"
|
||||||
|
sudo apt-get -y autoremove
|
||||||
|
else
|
||||||
|
echo ">>> Aucun paquet à mettre à jour"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ -f /var/run/reboot-required ]; then
|
||||||
|
echo ">>> REDÉMARRAGE NÉCESSAIRE"
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
local end_time=$(date +%s)
|
||||||
|
local duration=$(( end_time - start_time ))
|
||||||
|
|
||||||
|
log_capture=$(cat "$stats_tmp")
|
||||||
|
|
||||||
|
local ssh_status=$?
|
||||||
|
|
||||||
|
if [ "$ssh_status" -ne 0 ]; then
|
||||||
|
echo -e "❌ Échec SSH ou erreur distante sur $machine (code $ssh_status)"
|
||||||
|
else
|
||||||
|
echo -e "✅ $machine : Terminé avec succès"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f "$tmpfile"
|
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
# Récupération stats à partir des logs visibles en live
|
||||||
|
# On extrait les chiffres comme dans le message de apt
|
||||||
|
# Initialisation des compteurs
|
||||||
|
updated=0
|
||||||
|
installed=0
|
||||||
|
removed=0
|
||||||
|
unchanged=0
|
||||||
|
|
||||||
|
# Extraire les lignes après chaque bloc
|
||||||
|
line_upgrade=$(echo "$log_capture" | grep -A2 '^>>> upgrade' | grep -E '^[0-9]+ mis à jour' | tail -n1)
|
||||||
|
line_fullup=$(echo "$log_capture" | grep -A2 '^>>> full-upgrade' | grep -E '^[0-9]+ mis à jour' | tail -n1)
|
||||||
|
line_autorm=$(echo "$log_capture" | grep -A2 '^>>> autoremove' | grep -E '^[0-9]+ mis à jour' | tail -n1)
|
||||||
|
|
||||||
|
# Ajouter les lignes ensemble
|
||||||
|
line_all="$line_upgrade"$'\n'"$line_fullup"$'\n'"$line_autorm"
|
||||||
|
|
||||||
|
read updated installed removed unchanged <<< $(echo "$line_all" | parse_summary_line)
|
||||||
|
|
||||||
|
# Date/heure actuelle
|
||||||
|
now=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
|
# Fichier de stats
|
||||||
|
stats_file="$HOME/.config/updateall-stats"
|
||||||
|
mkdir -p "$(dirname "$stats_file")"
|
||||||
|
|
||||||
|
# Ajouter l’en-tête si le fichier est vide
|
||||||
|
if [ ! -s "$stats_file" ]; then
|
||||||
|
echo "machine,date,duree,updated,installed,removed,unchanged,uniqkey" > "$stats_file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ajout ligne CSV
|
||||||
|
echo "$machine,$now,$duration,$updated,$installed,$removed,$unchanged,$uniqkey" >> "$stats_file"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fonction pour mettre à jour avec dnf
|
# Fonction pour mettre à jour avec dnf
|
||||||
update_with_dnf() {
|
update_with_dnf() {
|
||||||
echo -e " - Mise à jour avec dnf sur $1 \n"
|
echo -e " - Mise à jour avec dnf sur $1 \n"
|
||||||
@@ -151,7 +244,7 @@ update_machine () {
|
|||||||
|
|
||||||
if timeout 5 ssh "$machine" which apt > /dev/null 2>&1; then
|
if timeout 5 ssh "$machine" which apt > /dev/null 2>&1; then
|
||||||
echo -e "${GREEN}apt${NC}"
|
echo -e "${GREEN}apt${NC}"
|
||||||
update_with_apt "$machine"
|
update_with_apt "$machine" "$uniqkey"
|
||||||
elif timeout 5 ssh "$machine" which dnf > /dev/null 2>&1; then
|
elif timeout 5 ssh "$machine" which dnf > /dev/null 2>&1; then
|
||||||
echo -e "${GREEN}dnf${NC}"
|
echo -e "${GREEN}dnf${NC}"
|
||||||
update_with_dnf "$machine"
|
update_with_dnf "$machine"
|
||||||
@@ -241,8 +334,11 @@ for machine in "${machines[@]}"; do
|
|||||||
((current++))
|
((current++))
|
||||||
echo -ne ">> $machine ($current/$total)\n"
|
echo -ne ">> $machine ($current/$total)\n"
|
||||||
|
|
||||||
if grep -q "^$machine " ~/.config/updateall-hosts; then
|
while read host status; do
|
||||||
status=$(grep "^$machine " ~/.config/updateall-hosts | awk '{print $2}')
|
# ignorer commentaires et lignes vides
|
||||||
|
[[ -z "$host" || "$host" =~ ^# ]] && continue
|
||||||
|
|
||||||
|
if [ "$machine" = "$host" ]; then
|
||||||
if [ "$status" = "1" ]; then
|
if [ "$status" = "1" ]; then
|
||||||
echo -e "${GREEN}connue${NC}"
|
echo -e "${GREEN}connue${NC}"
|
||||||
|
|
||||||
@@ -252,6 +348,7 @@ for machine in "${machines[@]}"; do
|
|||||||
if [ "$machine_online" -eq 1 ]; then
|
if [ "$machine_online" -eq 1 ]; then
|
||||||
check_keyinstall "$machine" "$uniqkey"
|
check_keyinstall "$machine" "$uniqkey"
|
||||||
keyinstall_present="$?"
|
keyinstall_present="$?"
|
||||||
|
|
||||||
if [ "$keyinstall_present" -eq 0 ]; then
|
if [ "$keyinstall_present" -eq 0 ]; then
|
||||||
update_machine "$machine"
|
update_machine "$machine"
|
||||||
create_installkey "$machine" "$uniqkey"
|
create_installkey "$machine" "$uniqkey"
|
||||||
@@ -264,7 +361,12 @@ for machine in "${machines[@]}"; do
|
|||||||
echo -e "${RED}ignorée${NC}"
|
echo -e "${RED}ignorée${NC}"
|
||||||
ignored_machines+=("$machine")
|
ignored_machines+=("$machine")
|
||||||
fi
|
fi
|
||||||
else
|
matched=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done < ~/.config/updateall-hosts
|
||||||
|
|
||||||
|
if [ "$matched" != "1" ]; then
|
||||||
check_host "$machine"
|
check_host "$machine"
|
||||||
machine_online="$?"
|
machine_online="$?"
|
||||||
|
|
||||||
@@ -279,7 +381,7 @@ for machine in "${machines[@]}"; do
|
|||||||
echo -e "${RED}non accessible${NC}"
|
echo -e "${RED}non accessible${NC}"
|
||||||
error_machines+=("$machine")
|
error_machines+=("$machine")
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user