Gostaria de fazer backup de alguns dos meus dados muito importantes em uma máquina remota.
Atualmente, estou apenas salvando-o na minha máquina local usando este comando:tar -cvjf ~/backups/Backup.tar.bz2 ~/importantfiles/*
Eu preferiria não usar outro comando para transferi-lo para a máquina remota, o que significa que gostaria apenas de atualizar esse comando para que ele possa transferir os dados para a máquina remota.
Ele foi projetado para ser posteriormente inserido em um script que deve ser executado sozinho, o que significa que qualquer tipo de entrada de usuário necessária pode atrapalhar completamente!
Algo como
tar -cvjf sftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
tar -cvjf ftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
seria perfeito! (Sem tubos (etc.), apenas um comando!)
ssh
acesso a esta máquina?Respostas:
Para SSH:
Para SFTP:
Outro SFTP:
fonte
O alcatrão não fala ftp ou sftp. Esse não é o seu trabalho. Você não pode fazer isso apenas com alcatrão. Usar ferramentas apropriadas para cada trabalho e combiná-las com o shell é a maneira normal de fazer as coisas em sistemas unix.
A solução mais óbvia é criar o arquivo localmente e copiá-lo para a máquina remota.
Se você não deseja criar o arquivo localmente porque não possui espaço suficiente, é possível criar um pipe nomeado, fazer tar escrever nesse pipe e encontrar um (s) cliente ftp que possa ler os pipes. Infelizmente, o sftp se recusa a
put
um pipe. Alguns clientes de FTP funcionam, por exemplo, lftp:Coloque sua senha de FTP
~/.netrc
.Como alternativa, existe uma maneira de fazer com que seu comando tar seja salvo diretamente no servidor remoto, mas você precisa de alguma configuração prévia. Monte o servidor remoto sobre SSHFS ou curlftpfs .
fonte