SSH para servidor e executar e imprimir comandos

1

Eu tenho um servidor AA e do script de shell tem que se conectar ao servidor BB usando ssh. No servidor BB, eu quero verificar se a pasta dada está vazia ou não, se não estiver vazia, deve remover todos os arquivos & diretórios.

Mas os comandos o / p e print devem ser impressos no servidor AA.

Tentei com o script abaixo, mas depois do ssh, os comandos estão sendo executados no servidor atual. Depois do SSH, não estava exibindo nada. Por favor me ajude.

IFS='=' read -r -a param1 <<< "$1"
user=${param1[1]}
IFS='=' read -r -a param2 <<< "$2"
server=${param2[1]}
IFS='=' read -r -a param3 <<< "$3"
folder_path=${param3[1]}
ssh $user@$server <<EOF
echo $(hostname)
if [ -d $folder_path ] 
 then
{
 cd $folder_path 
 rm -rf $folder_path/* 
}
echo "Files under $folder_path has been deleted successfully 
exit 0
else
echo "No such file/folder"
exit 1
fi
EOF
    
por Newbie-oracle 11.01.2017 / 06:34

1 resposta

2

Eu testei seu script e ele está funcionando bem se você remover a linha "cd $ folder_path" e precisar de pares de valores-chave na ordem exata:

./script user=username server=192.168.3.14 folder=fodername

Mas o comando único pode substituir todo o script:

ssh user@server rm -rf foldername/\*
    
por 11.01.2017 / 07:45