Festplatten Images von Account zu Account kopieren

Ich möchte eines meiner Drive Images in den Account eines Kunden von mir kopieren um mir das Setup zu ersparen.

Jetzt gibt es hier die Default Methode per FTP. Hier ist aber das Problem, dass es

  1. sehr langsam ist und
  2. kann es zu Fehlern kommen (hatte nach dem kopieren einen „invalid GPT header“ Error im FreeBSD – die letzten Bits scheinen also irgendwie nicht wirklich kopiert worden sein.)

Die beste & schnellste Methode ist, das ganze über die Cloudsigma Scripts zu machen.

Drives downloaden

Voraussetzung: wget muss installiert sein.

Als erstes mal auf den Server des Kunden gehen und die Scripts aufsetzen:

mkdir /DRIVES
cd /DRIVES/
vi download.sh

folgendes einfügen (UUID_of_the_drive steht für die UUID von der Platte, die ich von meinem Account runterladen möchte):

#!/bin/bash
export WGETRC=/DRIVES/.wgetrc
wget api.zrh.cloudsigma.com:8880/UUID_of_the_drive

damit ich Username und Passwort im wget nicht Plaintext übergebe, speichere ich diese Info im .wgetrc:

vi /DRIVES/.wgetrc

Und folgendes eintragen:

http_user = CloudsigmaUsername
http_password = CloudsigmaPassword

So und jetzt File noch ausführbar machen

chmod 775 download.sh

Nun connecte ich per VNC auf den Server um den Download Script auszuführen. Ich mach das per VNC damit ich meinen lokalen PC auch runterfahren könnte während des Downloads, falls es etwas länger dauern würde.

/DRIVES/download.sh

Drives uploaden

Voraussetzung: CURL muss installiert sein.

Als erstes Drive Upload Script von Cloudsigma downloaden.

cd /DRIVES/
wget http://cloudsigma.com/download/cs-upload.sh .
vi cs-upload.sh

Hier nun die Variabeln

CSURI=

und

CSAUTH=

entsprechend anpassen (Daten des Accounts, wo das Drive raufgeladen werden soll)

chmod 775 cs-upload.sh 

So, jetzt wieder per VNC connecten (sollte alles länger dauern) und Upload starten:

/DRIVES/cs-upload.sh -n DriveName FILENAME

DriveName ist einfach ein Platzhalter für den neuen Namen des Laufwerks. Wird -n nicht gesetzt, wird automatisch der FILENAME übernommen.

Das Image wird nun in 4MB grossen Teilen raufgeladen.

Nach dem Upload das DRIVES Verzeichnis mit allen Passworten etc. wieder löschen.

rm -rf /DRIVES/

Upload per FTP

Das hab ich hier nur noch als Referenz drin. Per FTP ist der Transfer viel zu langsam und es können Daten während des Transfers verloren gehen.

$ lftp

lftp :~> set ftp:ssl-force yes
lftp :~> set ssl:verify-certificate no
lftp :~> connect ftp.cloudsigma.com lftp :~> login CloudsigmaUsername

Dann mit get downloaden – danach in den anderen Account wieder mit put uploaden.

Man kann auch direkt mit dem mirror Befehl das File vom einen Account zum anderen transferieren. Aber wie gesagt, das ist alles SEHR langsam. Sogar noch langsamer, als wenn man es erst downloaded und danach wieder uploaded. Weiss auch nicht wieso das so viel langsamer ist 😉

lftp :~> login CloudsigmaSourceUsername
lftp :~> mirror /DRIVEIMAGES/ -i "^DriveName" ftp://CloudsigmaDestinationUsername:CloudsigmaDestinationPassword@ftp.cloudsigma.com:21:/DRIVEIMAGES/

 

Flattr this!

  • Rob
    #1 geschrieben von Rob vor 4 Jahren

    Danke!!! Genau danach hab ich gesucht. Das hat mir die Arbeit extrem verkürzt. Danke!

  • *

    Du kannst diese HTML tags verwenden: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Kommentar-Feed für diesen Beitrag
nach oben