Archivage vers une machine distante avec tar / cpio et ssh?

Je loue un couple de VPS avec Ubuntu, et j'ai réussi à en remplir un. Ici, j'ai plusieurs directorys avec beaucoup de files que je voudrais mettre dans une archive. Malheureusement, je n'ai pas assez de place pour créer une telle archive (même pas en tant que root).

J'étais là pour me requestr s'il est possible d'utiliser tar (préféré) ou cpio pour créer l'archive sur l'autre VPS? Je souhaiterais compresser l'archive, soit en appelant tar avec l'option j (bzip2) soit en envoyant le file à bzip2 à un moment donné (de preference avant de l'envoyer sur le réseau) – des suggestions pour compresser file?

Enfin, les deux VPS ont ssh et sshd installés, alors je pensais à l'utiliser pour la transmission du file.

+++

Malheureusement, je ne suis pas un expert dans l'utilisation de tar / cpio ou ssh de cette façon, donc je suis un peu hors de ma profondeur quant à quelque chose comme cela peut (mieux) être accompli. Comment dois-je utiliser ssh ? Comme tunnel ou pipe, comme ftp, comme scp? Comment dois-je utiliser le tar ? Avez- tar sur les deux VPS, avec un ssh-tunnel entre eux? Exécuter tar sur le source-VPS, tunneler le résultat et redirect le résultat vers un file sur le VPS de destination?

Alors, comment puis-je faire cela?

Y a-t-il d'autres moyens – mieux – de faire quelque chose comme ça? Un package spécial? Utiliser des sockets réseau? Autre chose?

la tuyauterie devrait être suffisante. Faire juste:

 tar -cvj /path/to/your/files | ssh remote "cat > file.tar.bz2" 

(si vous avez configuré la connection sans mot de passe à l'aide des touches)

Plus tard sur l'autre machine, vous pouvez décompresser le file reçu en utilisant tar -xvf path.tar.bz2 -C ./

Vous pouvez utiliser quelque chose comme ceci pour archiver et copyr via ssh:

 tar zcvf - stuff/ | ssh alex@localhost 'cat - > /tmp/stuff.tar.gz' 

Ici, vous créez une archive tar.gz mais au lieu de l'save dans un file que vous utilisez qui est la sortie standard. La sortie standard est ensuite canalisée vers ssh et à partir de là sur votre chat de sortie standard cat -> et redirect vers votre file sur la deuxième machine.

La suggestion d'user Arkadiusz Drabczyk dans les commentaires est également bonne, car une fois mis en place, vous pouvez utiliser mv pour passer d'une machine à l'autre. Si vous voulez utiliser sshfs, vous devez d'abord l'installer et ensuite:

 sudo sshfs [email protected]:/ /mnt/droplet