{"id":2229,"date":"2011-10-08T09:08:09","date_gmt":"2011-10-08T07:08:09","guid":{"rendered":"http:\/\/helgekoenig.de\/?p=2229"},"modified":"2012-02-03T03:04:20","modified_gmt":"2012-02-03T02:04:20","slug":"gescriptetes-winscp-backup-auf-strato-hidrive-mittels-openssh-schlusel","status":"publish","type":"post","link":"https:\/\/helgekoenig.de\/?p=2229","title":{"rendered":"Gescriptetes WinSCP Backup auf Strato HiDrive mittels SSH-Schl\u00fc\u00dfel unter Windows"},"content":{"rendered":"<p>Ich habe mich mal wieder mit meinem HiDrive als Backupl\u00f6sung f\u00fcr Endanwender besch\u00e4ftigt. Da Strato bis jetzt immer noch keine Applikation anbietet, die man dazu verwenden kann, habe ich mich mal hingesetzt und etwas rumgespielt. Meine L\u00f6sung ist nat\u00fcrlich nicht so anwenderfreundlich wie z.B. Wuala und Dropbox, aber wenn man einfach nur ein paar Dateien oder Ordner auf das HiDrive schieben m\u00f6chte ist das ganz Praktisch.<\/p>\n<p>Meine L\u00f6sung erfordert allerdings etwas Vorarbeit, da ich das Passwort f\u00fcr das HiDrive nicht im Klartext verwende. Stattdessen erstelle ich einen OpenSSH Schl\u00fcssel, der zur Authentifizierung verwendet wird. Um diesen Schl\u00fcssel auf Windows zu erstellen ben\u00f6tigen wir das Programm PuTTYgen (<a href=\"http:\/\/www.chiark.greenend.org.uk\/%7Esgtatham\/putty\/download.html\">http:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/download.html<\/a>). Ist dies heruntergladen f\u00fchren wir PuTTYgen aus und klicken auf den Generate Button. Um bei der Schl\u00fc\u00dfelerstellung noch ein Zufallselement einzubauen m\u00fcssen wir mit der Maus kurzzeitig im Fenster \u201eherum wedeln\u201c.<\/p>\n<p><a href=\"https:\/\/helgekoenig.de\/?attachment_id=2230\" rel=\"attachment wp-att-2230\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2230\" title=\"Puttygen1\" src=\"https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen1.png\" alt=\"\" width=\"493\" height=\"477\" srcset=\"https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen1.png 493w, https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen1-300x290.png 300w, https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen1-36x36.png 36w\" sizes=\"auto, (max-width: 493px) 100vw, 493px\" \/><\/a><\/p>\n<p>Ist der Schl\u00fcssel generiert, gelangen wir zu diesem Fenster. Hier speichern wir einmal den \u00f6ffentlichen und privaten Schl\u00fcssel. Die Dateinamen sind im Grunde egal, ich empfehle aber den privaten Schl\u00fcssel als PrivateKey.ppk ab zu speichern. So muss man sp\u00e4ter im Script eine Variable weniger anpassen.<\/p>\n<p><a href=\"https:\/\/helgekoenig.de\/?attachment_id=2231\" rel=\"attachment wp-att-2231\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2231\" title=\"Puttygen3\" src=\"https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen3.png\" alt=\"\" width=\"493\" height=\"477\" srcset=\"https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen3.png 493w, https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen3-300x290.png 300w, https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/Puttygen3-36x36.png 36w\" sizes=\"auto, (max-width: 493px) 100vw, 493px\" \/><\/a><\/p>\n<p>Es ist wichtig das kein Passwort f\u00fcr diese Schl\u00fcssel vergeben werden, sonst m\u00fcssen dieses bei jedem Ausf\u00fchren des Scriptes eingeben werden, was im Sinne der Automatisierung Kontraproduktiv ist. Das Kommentar-Feld kann unangetastet bleiben, es dient nur zur einfacheren Identifikation f\u00fcr das Schl\u00fcsselpaars.<\/p>\n<p>Den \u00f6ffentlichen Schl\u00fcssel laden wir jetzt in der HiDrive Weboberfl\u00e4che unter Einstellungen \u2192 Kontzoverwaltung \u2192 OpenSSH Schl\u00fc\u00dfel hoch.<\/p>\n<p><a href=\"https:\/\/helgekoenig.de\/?attachment_id=2242\" rel=\"attachment wp-att-2242\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2242\" title=\"HiDrive_OpenSSHKeyMenu\" src=\"https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/HiDrive_OpenSSHKeyMenu.png\" alt=\"\" width=\"929\" height=\"386\" srcset=\"https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/HiDrive_OpenSSHKeyMenu.png 929w, https:\/\/helgekoenig.de\/wp-content\/uploads\/2011\/10\/HiDrive_OpenSSHKeyMenu-300x124.png 300w\" sizes=\"auto, (max-width: 929px) 100vw, 929px\" \/><\/a><\/p>\n<p>Jetzt brauchen wir WinSCP, ich empfehle die Portable Variante die hier zu finden ist: <a href=\"http:\/\/winscp.net\/eng\/download.php\">http:\/\/winscp.net\/eng\/download.php<\/a><\/p>\n<p>Die ZIP-Datei entpacken wir und kopieren den privaten Schl\u00fcssel hinein (in den entpackten Ordner). Mit einem Texteditor der Wahl (ich bevorzuge Notepad++ <a href=\"http:\/\/notepad-plus-plus.org\/\">http:\/\/notepad-plus-plus.org\/<\/a>) erstellen wir eine Datei mit diesem Inhalt:<\/p>\n<blockquote><p>\u00a0@echo off<br \/>\nrem Generate temporary scriptfile<br \/>\necho option batch on &gt; script.tmp<br \/>\necho option confirm off &gt;&gt; script.tmp<br \/>\necho open sftp:\/\/USERNAME@sftp.hidrive.strato.com -privatekey=&#8220;PrivateKey.ppk&#8220; &gt;&gt; script.tmp<br \/>\necho synchronize remote -delete &#8222;D:\\QUELLVERZEICHNIS&#8220; &#8222;\/users\/USERNAME\/ZIELVERZEICHNIS&#8220; &gt;&gt; script.tmp<br \/>\necho exit &gt;&gt; script.tmp<\/p>\n<p>rem Execute script<br \/>\nWinSCP.exe \/console \/script=script.tmp \/log=log.txt<\/p>\n<p>rem Delete temporary script<br \/>\ndel script.tmp<\/p><\/blockquote>\n<p>Und Speichern das ganze als HiDrive Backup Script.bat in den entpackten WinSCP Ordner ab. Die Dateiendung bat ist hierbei wichtig. Diese Datei f\u00fchren wir aus, wann immer wir das Backup starten wollen. Bevor wir das jedoch k\u00f6nnen, m\u00fcssen wir diese Datei noch etwas anpassen. Zuallererst muss alles was USERNAME ist durch den eigenen Strato HiDirve Benutzernamen ersetzt werden. Danach kommen wir zu der Zeile in der wir dem Script \u00fcbergeben, welche Verzeichnisse Synchronisiert werden sollen:<\/p>\n<blockquote><p>echo synchronize remote -delete &#8222;D:\\QUELLVERZEICHNIS&#8220; &#8222;\/users\/USERNAME\/ZIELVERZEICHNIS&#8220; &gt;&gt; script.tmp<\/p><\/blockquote>\n<p>Das echo und &gt;&gt; script.tmp k\u00f6nnen wir ignorieren. Allerdings ist es wichtig das eche immer am anfang der Zeile und &gt;&gt; script.tmp immer am Ende steht, aber darauf gehe ich sp\u00e4ter ein. <a>D:\\QUELLVERZEICHNIS<\/a> ist das Verzeichnis auf der Festplatte die wir sichern wollen. \/users\/USERNAME\/ZIELVERZEICHNIS ist die Pfadangabe zu HiDrive. Wichtig ist das das Verzeichnis in HiDrive manuell einmal erstellt werden muss, da WinSCP dies nicht automatisch macht. Wenn wir mal davon ausgehen das ich meine iTunes Datenbank sichern m\u00f6chte sollte das so aussehen:<\/p>\n<blockquote><p>echo synchronize remote -delete &#8222;D:\\Eigene Musik\\iTunes&#8220; &#8222;\/users\/Helge\/iTunes&#8220; &gt;&gt; script.tmp<\/p><\/blockquote>\n<p>Die Hochkommas (\u201e\u201c) sorgen daf\u00fcr das das Script mit Verzeichnisnamen mit Leerstellen klarkommt. Lasst die am besten so, auch wenn eure Pfadangeben gar keine Leerstellen haben.<br \/>\nDiese Zeile kann man beliebig oft kopieren, anpassen und untereinander setzten, solange man immer \u00fcber dem<\/p>\n<blockquote><p>echo exit &gt;&gt; script.tmp<\/p><\/blockquote>\n<p>und unter<\/p>\n<blockquote><p>echo open sftp:\/\/USERNAME@sftp.hidrive.strato.com -privatekey=&#8220;PrivateKey.ppk&#8220; &gt;&gt; script.tmp<\/p><\/blockquote>\n<p>bleibt.<\/p>\n<p>Aber ich wollte ja noch erkl\u00e4ren was dieses Echo und so bedeutet. Der Grund ist recht Simpel, WinSCP muss mit einem Parameter ausgef\u00fchrt werden, in dem man dem Programm die Script-Datei \u00fcbergibt. Ich habe aber gerne eine aufger\u00e4umte Verzeichnisstrucktur und m\u00f6chte immer nur so wenig wie m\u00f6glich an Dateien haben. Deswegen erzeugt diese Batch Datei diese Script-Datei, \u00fcbergibt diese an WinSCP und wenn alles feritg ist, wird sie wieder gel\u00f6scht. Echo gibt einen Befehl aus und &gt;&gt; script.tmp speichert diesen in der Tempor\u00e4ren Script-Datei.<\/p>\n<p>Die Batch Datei sollte jetzt vollst\u00e4ndig editiert sein und nun sollten wir nocheinmal kontollieren ob sich wirklich alle ben\u00f6tigten Dateien hier befinden:<\/p>\n<ul>\n<li>Licence<\/li>\n<li>readme<\/li>\n<li>WinSCP.com<\/li>\n<li>WinSCP.exe<\/li>\n<li>PrivateKey.ppk<\/li>\n<li>HiDrive Backup Script.bat<\/li>\n<\/ul>\n<p>Wenn das Script oder WinSCP zum ersten mal ausgef\u00fchrt wird, werden weitere Dateien erzeugt, die uns nicht weiter Interessieren sollten. Einzige Ausnahme ist die Datei log.txt. Falls irgendetwas nicht klappt, k\u00f6nnen wir einen Blick hier rein werfen, um zu sehen, was schief gegangen ist. Das Backup wird immer \u00fcber\u00a0HiDrive Backup Script.bat gestartet. Um das ganze noch zu Automatisieren k\u00f6nnte man diese Batch-Datei \u00fcber den Task-Manager (Aufgabenplanung in Windows 7) hinzuf\u00fcgen. So wird dieses Script zu den definierten Zeiten ausgef\u00fchrt ohne das man etwas tun muss.<\/p>\n<p>&nbsp;<\/p>\n<p>Quellen:<\/p>\n<ul>\n<li><a href=\"http:\/\/winscp.net\/eng\/docs\/\" target=\"_blank\">http:\/\/winscp.net\/eng\/docs\/<\/a><\/li>\n<li><a href=\"http:\/\/www.strato-faq.de\/2339\" target=\"_blank\">http:\/\/www.strato-faq.de\/2339<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe mich mal wieder mit meinem HiDrive als Backupl\u00f6sung f\u00fcr Endanwender besch\u00e4ftigt. Da Strato bis jetzt immer noch keine Applikation anbietet, die man dazu verwenden kann, habe ich mich mal hingesetzt und etwas rumgespielt. Meine L\u00f6sung ist nat\u00fcrlich nicht &hellip; <a href=\"https:\/\/helgekoenig.de\/?p=2229\">Weiter<\/a><\/p>\n","protected":false},"author":5,"featured_media":2242,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[211],"tags":[167,376,195,308,377,375],"class_list":["post-2229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-netzkultur-it-stuff","tag-backup","tag-openssh","tag-script","tag-strato-hidrive","tag-windows","tag-winscp"],"_links":{"self":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/posts\/2229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2229"}],"version-history":[{"count":0,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/posts\/2229\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/media\/2242"}],"wp:attachment":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}