2017-12-18 2 views
1

Ich bin ein Neuling zu bash Scripting. Ich versuche, eine gz-Datei zu kopieren, dann Berechtigungen zu ändern und entpacken sie auf Remote-Servern (alle Centos-Maschinen).Bash-Skripting; Kopieren und Chmod und Untar-Dateien in mehreren Remote-Servern

#!/bin/bash 

pwd=/home/sujatha/downloads 
cd $pwd 
logfile=$pwd/log/`echo $0|cut -f1 -d'.'`.log 
rm $logfile 
touch $logfile 



server="10.1.0.22" 

for a in $server 
do 
scp /home/user/downloads/prometheus-2.0.0.linux-amd64.tar.gz 
ssh -f [email protected] "tar -xvzf/home/sujatha/downloads/titantest/prometheus-2.0.0.linux-amd64.tar.gz" 
     sleep 2 
     echo 
done 
exit 

Der scp Teil ist erfolgreich. Aber die restlichen Aktionen können nicht ausgeführt werden. Nach dem Untarring möchte ich auch weitere Aktionen wie das Anhängen einer Variablen an die Konfigurationsdateien hinzufügen. alles durch das Skript. Jede beraten wäre hilfreich

+1

Was statt, wenn von dem Versuch, mehrere einzelne Befehle ausführen können, führen Sie ein Skript auf dem entfernten Rechner? Auch [dieser Beitrag] (https://stackoverflow.com/questions/4412238/what-is-the-cleanest-way-to-ssh-and-run-multiple-commands-in-bash) kann Ihnen ebenfalls helfen . – burnttoast11

+2

Sind Sie sicher, dass der scp-Teil erfolgreich ist? Ich sehe nur ein Argument. –

Antwort

1

Führen Sie eine Bash-Sitzung in Ihrem SSH-Verbindung:

ssh 192.168.2.9 bash -c "ls; sleep 2; echo \"bye\"" 
Verwandte Themen