Diretórios Tar durante o envio com SSH

Diretórios Tar durante o envio com SSH

Hoje em dia, quando quero fazer backup do meu servidor, eu faço login nele e depois executo o comando abaixo que tara o diretório local "/ebs1" e envia para outro servidor no IP xxx.xxx.xxx.xxx e salva em aquele servidor de backup com o nome "/ebs1_2019-06-02.tar".

tar -cvf - "/ebs1" | ssh -p 22 [email protected] "cat > /ebs1_2019-06-02.tar"

Funciona muito bem. Mas você percebeu que estou logado no servidor que está sendo copiado para executar o comando acima? Mas e se eu quiser estar logado no servidor de backup, como altero o comando acima?

Responder1

Por aqui:

ssh [email protected] tar cf - /ebs1 >/ebs1_2019-06-02.tar

Isso não funciona bem se o diretório do qual será feito backup contiver espaço ou quaisquer caracteres especiais; nesse caso, você precisará usar um comando como este:

ssh [email protected] tar cf - "'/directory name'" >/ebs1_2019-06-02.tar

...e isso pode se tornar inconveniente rapidamente. Você pode querer escrever um script no computador de destino contendo o tarcomando e executá-lo via ssh, para não precisar escapar de tudo na linha de comando.

Se o nome do diretório não contiver nenhum caractere especial, entretanto, o primeiro comando deverá servir.

informação relacionada