Script SSH e comando de execução

1

Devo me conectar ao servidor todos os dias pelo ssh e criei um script para exibir os logs.

Este é o meu código:

#!/bin/bash

A='date +%Y'
M='date +%m'
D='date +%d'

gnome-terminal --geometry=82x11 \
--tab --title "NAMEServer" -e "sshpass -p P4ssw0rd ssh [email protected] 'tail -f /opt/logs/example.$A-$M-$D.log'" \
--tab --title "NAMEServer" -e "sshpass -p P4ssw0rd ssh [email protected] 'tail -f /opt/logs/example.$A-$M-$D.log'"

Mas se eu tentar filtrar as palavras com o grep, não funcionará. Exemplo:

-e "sshpass -p P4ssw0rd ssh [email protected] 'tail -f /opt/logs/example.$A-$M-$D.log | grep 'not fetch''" \

ou

-e "sshpass -p P4ssw0rd ssh [email protected] 'cat /opt/logs/exaple.log | grep 'any problem''" \

Eu acho que o problema são as aspas, mas, qual uso ?, eu tentei com ´´ ' ' " " .

    
por ymk369 23.08.2015 / 23:53

2 respostas

1

Você está correto, são suas aspas. Você está aninhando aspas simples sem escapar. Tente isto:

-e "sshpass -p P4ssw0rd ssh [email protected] 'cat /opt/logs/exaple.log | grep \'any problem\''" \
    
por 24.08.2015 / 00:29
0

Tente adicionar o bash no final como:

e "sshpass -p P4ssw0rd ssh [email protected] 'tail -f /opt/logs/example.$A-$M-$D.log | grep 'not fetch'; bash' " \
    
por 10.04.2018 / 08:31