fonction run_ssh et run_scp avec timeout + options
This commit is contained in:
@@ -12,10 +12,28 @@ NC='\033[0m' # No Color
|
|||||||
|
|
||||||
# Mise à jour des machines présentes dans .ssh/config avec choix d'ignorer certaines.
|
# Mise à jour des machines présentes dans .ssh/config avec choix d'ignorer certaines.
|
||||||
|
|
||||||
|
# fonction run_ssh et run_scp avec timeout + options
|
||||||
|
SSH_OPTS="-o ConnectTimeout=5 -o BatchMode=yes -o StrictHostKeyChecking=accept-new"
|
||||||
|
SSH_TIMEOUT="5"
|
||||||
|
|
||||||
|
run_ssh() {
|
||||||
|
local machine="$1"
|
||||||
|
local cmd="$2"
|
||||||
|
timeout "$SSH_TIMEOUT" ssh $SSH_OPTS "$machine" "$cmd"
|
||||||
|
}
|
||||||
|
|
||||||
|
run_scp() {
|
||||||
|
local src="$1"
|
||||||
|
local dest="$2"
|
||||||
|
local machine="$3"
|
||||||
|
timeout "$SSH_TIMEOUT" scp $SSH_OPTS "$src" "$machine:$dest"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Fonction pour mettre à jour avec apt
|
# Fonction pour mettre à jour avec apt
|
||||||
update_with_apt() {
|
update_with_apt() {
|
||||||
echo -e " - Mise à jour avec apt sur $1 \n"
|
echo -e " - Mise à jour avec apt sur $1 \n"
|
||||||
ssh -tt "$1" '
|
run_ssh "$1" '
|
||||||
sudo apt -y -q clean &&
|
sudo apt -y -q clean &&
|
||||||
sudo apt -y -q update &&
|
sudo apt -y -q update &&
|
||||||
sudo apt -y -q full-upgrade &&
|
sudo apt -y -q full-upgrade &&
|
||||||
@@ -27,7 +45,7 @@ update_with_apt() {
|
|||||||
# 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"
|
||||||
ssh -tt "$1" 'sudo dnf check-update && sudo dnf upgrade -y'
|
run_ssh "$1" 'sudo dnf check-update && sudo dnf upgrade -y'
|
||||||
echo -e "\n"
|
echo -e "\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,10 +169,10 @@ run_custom_script() {
|
|||||||
if [ -f "$custom_script" ]; then
|
if [ -f "$custom_script" ]; then
|
||||||
echo -e " - Exécution du script spécifique pour ${GREEN}$machine${NC}"
|
echo -e " - Exécution du script spécifique pour ${GREEN}$machine${NC}"
|
||||||
# Copier le script sur la machine et l'exécuter
|
# Copier le script sur la machine et l'exécuter
|
||||||
scp "$custom_script" "$machine:/tmp/updateall_custom.sh"
|
run_scp "$custom_script" "/tmp/updateall_custom.sh" "$machine"
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo " - Script copié, exécution en cours..."
|
echo " - Script copié, exécution en cours..."
|
||||||
ssh -tt "$machine" '
|
run_ssh "$machine" '
|
||||||
chmod +x /tmp/updateall_custom.sh
|
chmod +x /tmp/updateall_custom.sh
|
||||||
sudo /tmp/updateall_custom.sh
|
sudo /tmp/updateall_custom.sh
|
||||||
status=$?
|
status=$?
|
||||||
|
|||||||
Reference in New Issue
Block a user