<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>MyNakedGirlfriend.de &#187; Skript</title> <atom:link href="http://www.mynakedgirlfriend.de/tag/skript/feed/" rel="self" type="application/rss+xml" /><link>http://www.mynakedgirlfriend.de</link> <description>by Thomas Schulte</description> <lastBuildDate>Thu, 02 Feb 2012 23:12:42 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Automatischer Bilder-Upload für Gallery3</title><link>http://www.mynakedgirlfriend.de/automatischer-bilder-upload-fuer-gallery3/</link> <comments>http://www.mynakedgirlfriend.de/automatischer-bilder-upload-fuer-gallery3/#comments</comments> <pubDate>Sun, 26 Jun 2011 16:24:20 +0000</pubDate> <dc:creator>Thomas Schulte</dc:creator> <category><![CDATA[IT / Technology]]></category> <category><![CDATA[automatisch]]></category> <category><![CDATA[Bild]]></category> <category><![CDATA[Cron]]></category> <category><![CDATA[Cronjob]]></category> <category><![CDATA[Gallery]]></category> <category><![CDATA[Gallery3]]></category> <category><![CDATA[Image]]></category> <category><![CDATA[Intervall]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Scheduler]]></category> <category><![CDATA[Skript]]></category> <category><![CDATA[Upload]]></category><guid
isPermaLink="false">http://mng.ser4.de/?p=911</guid> <description><![CDATA[Nachdem ich nun schon lange Zeit die bekannte Webanwendung &#8220;Gallery2&#8243; verwendet hatte, entschloss ich mich nun zu einem Wechsel auf die neue Generation, genannt &#8220;Gallery3&#8243;. Eine der Herausforderungen bei der Migration meiner Umgebung auf die neue Version stellte ein Perl-Skript dar, das ich bisher für automatische Uploads verwendete. Das bisher ...]]></description> <content:encoded><![CDATA[<p>Nachdem ich nun schon lange Zeit die bekannte Webanwendung &#8220;Gallery2&#8243; verwendet hatte, entschloss ich mich nun zu einem Wechsel auf die neue Generation, genannt &#8220;Gallery3&#8243;. Eine der Herausforderungen bei der Migration meiner Umgebung auf die neue Version stellte ein Perl-Skript dar, das ich bisher für automatische Uploads verwendete. Das bisher über einen Cronjob aufgerufene Skript &#8220;<a
title="galleryadd" href="http://freshmeat.net/projects/galleryadd/" target="_blank">galleryadd-2.30.pl</a>&#8220; diente dazu, ein lokales Verzeichnis auf neue Bilder zu prüfen und auf den Gallery-Server in ein bestimmtes Album zu übertragen. Leider ist dieses Skript mit der dritten Gallery-Generation nicht mehr kompatibel, also musste etwas Neues her&#8230;<span
id="more-911"></span></p><p>Das &#8220;REST API Module&#8221; ist im Standard-Umfang der Gallery enthalten und bietet eine komfortable Möglichkeit, von außen mit der Gallery zu kommunizieren. Funktionen für das &#8220;Entgegennehmen&#8221; von hochgeladenen Dateien existieren bereits, so dass meine Aufgabe nun darin bestand, einen für mich nutzbaren Client zu schreiben, der die von mir benötigte Funktion des galleryadd-Skripts ablösen sollte.</p><p>Also schrieb ich in PHP ein Upload-Skript: <a
href="/wp-content/files/gallery3-upload-1.00.txt" target="_blank">gallery3-upload-1.00.txt</a> (muss in .php umbenannt werden)</p><p>Es besteht aus zwei Funktionen, die zusammen arbeiten. Darunter befinden sich die Site-spezifische Konfiguration und der eigentliche Aufruf.</p><pre>$galleryHost = "gallery.site";            // Gallery-URL
$galleryPort = 80;                        // HTTP-Port
$apiKey      = "xxx";                     // API-Key eines Gallery-Users
$itemID      = 1;                         // Album-ItemID

$importDir   = "/data/upload";    // Quell-Verzeichnis
$archiveDir  = "/data/archive";   // Archiv-Verzeichnis (optional)

processFiles($galleryHost, $galleryPort, $itemID,
        $apiKey, $importDir, $archiveDir);</pre><p>&nbsp;</p><p>Das Skript setzt voraus, dass die Gallery sich im Stammverzeichnis des Servers befindet und nicht als Unterordner (z.B. &#8220;/gallery/&#8221;). Falls jemand diese Erweiterung benötigt, möge er/sie sich bitte melden.</p><p>Die Album-ItemID habe ich kurzerhand direkt in der MySQL-Datenbank in der Tabelle &#8220;items&#8221; nachgesehen (Filter auf Datensätze mit &#8220;type&#8221; = &#8220;album&#8221;). Den API-Key kann man in der Administrationsoberfläche den User-Details entnehmen. Wichtig ist, dass der User des verwendeten API-Keys auch entsprechende Schreibrechte auf das Album besitzt.</p><p>Das Skript überträgt alle Dateien aus dem Ordner $importDir, es findet keine Filterung auf Dateitypen statt. Die Angabe von $archiveDir ist optional. Statt die hochgeladenen Bilder aus dem Ordner zu löschen, lege ich sie lieber in einem separaten Archiv ab. Ist diese Form des Backups nicht gewünscht, kann man $archiveDir auf NULL setzen. ACHTUNG: In diesem Fall muss man sich selbst darum kümmern, die abgearbeiteten Dateien aus dem $importDir zu entfernen!</p><p>Man kann diese PHP-Datei durch require/include zwar innerhalb einer anderen PHP-Anwendung verwenden, ich rufe sie stattdessen jedoch direkt über die Kommandozeile oder über einen Cronjob auf.</p><p>Kommandozeile:</p><pre>/usr/bin/php /pfad/zum/skript/gallery3-upload.php</pre><p>&nbsp;</p><p>Cronjob (alle 10 Minuten):</p><pre>*/10 * * * *    /usr/bin/php /skriptpfad/gallery3-upload.php &gt; /dev/null 2&gt;&amp;1</pre><p>&nbsp;</p><p>Feedback ist herzlich willkommen.</p> <img
src="http://www.mynakedgirlfriend.de/?ak_action=api_record_view&id=911&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://www.mynakedgirlfriend.de/automatischer-bilder-upload-fuer-gallery3/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Xen 4: Error: Device 0 (vif) could not be connected. Hotplug scripts not working. (UPDATE)</title><link>http://www.mynakedgirlfriend.de/xen-4-error-device-0-vif-could-not-be-connected-hotplug-scripts-not-working/</link> <comments>http://www.mynakedgirlfriend.de/xen-4-error-device-0-vif-could-not-be-connected-hotplug-scripts-not-working/#comments</comments> <pubDate>Tue, 13 Jul 2010 14:08:14 +0000</pubDate> <dc:creator>Thomas Schulte</dc:creator> <category><![CDATA[IT / Technology]]></category> <category><![CDATA[DomU]]></category> <category><![CDATA[hotplug]]></category> <category><![CDATA[Kernel]]></category> <category><![CDATA[Lösung]]></category> <category><![CDATA[mkinitrd]]></category> <category><![CDATA[Patch]]></category> <category><![CDATA[Skript]]></category> <category><![CDATA[SLES11]]></category> <category><![CDATA[Update]]></category> <category><![CDATA[vif]]></category> <category><![CDATA[Workaround]]></category> <category><![CDATA[Xen]]></category><guid
isPermaLink="false">http://mng.ser4.de/?p=446</guid> <description><![CDATA[Ich nutze den SuSE Linux Enterprise Server 11 (SLES11) als Dom0 mit Xen 4. Aus mir bisher unbekannten Gründen (ich vermute, das Kernel-Update auf 2.6.32.13-0.4.1 ist schuld) hatte ich immer wieder Probleme beim Starten von DomU-Instanzen, vor allem dann, wenn sie per &#8220;vm-install&#8221; erzeugt wurden.
Die genaue Fehlermeldung war &#8220;Error: Device ...]]></description> <content:encoded><![CDATA[<p>Ich nutze den SuSE Linux Enterprise Server 11 (SLES11) als Dom0 mit Xen 4. Aus mir bisher unbekannten Gründen (ich vermute, das Kernel-Update auf 2.6.32.13-0.4.1 ist schuld) hatte ich immer wieder Probleme beim Starten von DomU-Instanzen, vor allem dann, wenn sie per &#8220;vm-install&#8221; erzeugt wurden.</p><p>Die genaue Fehlermeldung war &#8220;<strong>Error: Device 0 (vif) could not be connected. Hotplug scripts not working.</strong>&#8220;. In der Datei &#8220;/var/log/xen/xen-hotplug.log&#8221; war außerdem zu lesen: &#8220;<strong>/etc/xen/scripts/xen-hotplug-cleanup: line 24: [: !=: unary operator expected</strong>".</p><p><span
id="more-446"></span></p><p>Anscheinend ist an der entsprechenden Stelle im genannten Skript nun eine Variable leer, die eigentlich gefüllt sein sollte. Das Ergebnis ist nun jedoch ungültig, woraufhin das Skript auf die Nase fällt. Bis Novell ein Update zur Verfügung stellt, um den Fehler zu beheben (ich hoffe, dass Novell die Lösung beisteuert) kann man sich mit einem Workaround helfen, der darin besteht, die Zeilen 24 und 25 im Skript "/etc/xen/scripts/xen-hotplug-cleanup" anzupassen:</p><p>aus:</p><pre>if [ $(xenstore-read "$vm_dev" 2&gt;/dev/null) != "" ]
&amp;&amp; [ "${path_array[1]}&#8221; = &#8220;vbd&#8221; ]; then</pre><p>wird:</p><pre>if [ x$(xenstore-read "$vm_dev" 2&gt;/dev/null) != "x" ]
&amp;&amp; [ x"${path_array[1]}" = "xvbd" ]; then</pre><p>Damit sollte das Problem umgangen werden können. Bisher funktioniert's bei mir ohne Probleme.</p><p>&nbsp;</p><p><strong>UPDATE (20.07.2010):</strong></p><p>Meine Xen-Umgebung lief in den letzten Tagen ziemlich wackelig. Das Starten von domU's war möglich, wenn ich allerdings eine der Instanzen stoppen oder neu starten musste, befand sie sich für ca. eine Minute im "paused"-Zustand und brach dann ab. Die Meldung war (wie gehabt) "Error: Device 0 (vif) could not be connected. Hotplug scripts not working.".</p><p>Ich habe Foren durchsucht, Manuals gelesen und diverse Mailinglisten umgegraben, doch zunächst schien nichts zu helfen, was auch immer ich versuchte.</p><p>Nun habe ich endlich das Problem für mich isoliert und "vorerst" behoben. SLES11SP1 nutzt in der Standardauslieferung für Xen das Kernelpaket "<strong>kernel-xen-2.6.32.12-0.7.1</strong>". Damit lief alles reibungslos. Dann kam vor einigen Tagen ein Kernel-Patch heraus, Version "<strong>kernel-xen-2.6.32.13-0.4.1</strong>". Und hiermit fing - wie anfangs bereits vermutet - der ganze Ärger an. Ich habe mittlerweile die Version wieder auf den Originalzustand zurück gedreht und schon funktioniert alles wieder reibungslos. Ich hatte war vor ein paar Tagen schon probiert, den Kernel zurück zu drehen, doch ich hatte auf meinem Server noch ein weiteres Problem, dass mit dem Booten von Software-RAID-Partitionen zusammen hing. Das konnte ich beheben, indem ich "<strong>mkinitrd-2.5.10-4.6.1</strong>" installierte. Ich glaube aber nicht, dass es sich hierbei um ein grundsätzliches Problem handelt... aber wer weiß. :-)</p> <img
src="http://www.mynakedgirlfriend.de/?ak_action=api_record_view&id=446&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://www.mynakedgirlfriend.de/xen-4-error-device-0-vif-could-not-be-connected-hotplug-scripts-not-working/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>

<!-- W3 Total Cache: Minify debug info:
Engine:             disk: basic
Theme:              e530c
Template:           archive
-->
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.mynakedgirlfriend.de @ 2012-02-04 20:48:53 -->
