Ich möchte einige meiner sehr wichtigen Daten auf einem Remote-Computer sichern.
Derzeit speichere ich es nur mit diesem Befehl auf meinem lokalen Computer:tar -cvjf ~/backups/Backup.tar.bz2 ~/importantfiles/*
Ich würde es vorziehen, keinen anderen Befehl zu verwenden, um ihn auf den Remotecomputer zu übertragen, was bedeutet, dass ich nur möchte, dass dieser Befehl aktualisiert wird, damit er die Daten auf den Remotecomputer übertragen kann.
Dies ist so konzipiert, dass es sich später in einem Skript befindet, das von selbst ausgeführt werden soll, was bedeutet, dass jede Art von erforderlichen Benutzereingaben es völlig durcheinander bringen würde!
Etwas wie
tar -cvjf sftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
tar -cvjf ftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
es wäre perfekt! (Keine Rohre (etc.), nur ein Befehl!)
ssh
Zugriff auf diese Maschine?Antworten:
Für SSH:
Für SFTP:
Ein weiteres SFTP:
quelle
Tar spricht weder FTP noch SFTP. Das ist nicht seine Aufgabe. Sie können dies nicht allein mit Teer tun. Die Verwendung geeigneter Tools für jeden Job und deren Kombination mit der Shell ist die normale Vorgehensweise auf Unix-Systemen.
Die naheliegendste Lösung besteht darin, das Archiv lokal zu erstellen und dann auf den Remotecomputer zu kopieren.
Wenn Sie das Archiv nicht lokal erstellen möchten, weil Sie nicht genügend Speicherplatz haben, können Sie eine Named Pipe erstellen, tar in diese Pipe schreiben lassen und einen (e) FTP-Client finden, der aus Pipes lesen kann. Leider weigert sich sftp zu
put
einer Pipe. Einige FTP-Clients funktionieren, z. B. lftp:Geben Sie Ihr FTP-Passwort ein
~/.netrc
.Alternativ gibt es eine Möglichkeit, Ihren tar-Befehl direkt auf dem Remote-Server zu speichern, Sie benötigen jedoch eine vorherige Einrichtung. Hängen Sie den Remote-Server über SSHFS oder curlftpfs ein .
quelle