• Ingenieur Flussdiagramm

  • FTP Backup unter Linux Debian mit Reoback

    FTP Backup unter Linux Debian mit Reoback

    Ich habe heute einmal Reoback auf meinem Linux Debian Server installiert und bin soweit sehr zufriden damit. Mit Reoback kann man Ordner auf einen FTP-Server backupen. Die Einrichtung ist wirklich einfach:

    zuerst einmal Reoback installieren:
    Auf Reoback Seite gehen: http://reoback.sourceforge.net/
    Dort den Download Link auswählen. Man kommt auf die Download Seite. Hier den obersten Eintrag, RPM (nicht Source RPM) auswählen. Man kommt auf die Download Seite von Sourceforge. Er beginnt sogleich mit dem Download. Oben gibt es ein Link "direct Link". Diesen mit Rechtsclick kopieren. Zurück in die Konsole (zB Putty)

    w\get denLinkdenmankopierthat

    nun muss man in Debian alien installiert haben um das rpm zu installieren:

    sudo apt-get update; sudo apt-get install alien
    alien reoback-1.0-3.noarch.rpm*
    dpkg --install reoback_1.0-3_all.deb (je nachdem noch die Versionsnummer anpassen)

    nun ist Reoback auch schon installiert.
    Als nächstes muss man es noch konfigurieren:
    Verzeichnis wechseln:
    cd /etc/reoback

    Hier gibt es die folgenden Dateien:

    1. -rw-r--r-- 1 root root 1131 2012-04-14 15:48 files.conf
    2. -rw-r--r-- 1 root root 2536 2002-03-24 02:11 files.conf.sample
    3. -rwxr-xr-x 1 root root 1315 2002-03-24 02:11 run_reoback.sh
    4. -rw-r--r-- 1 root root 2475 2012-04-14 15:40 settings.conf

    Die Datei .sample habe ich selber erstellt:
    cp files.conf files.conf.sample

    Danach kann man die Datei settings.conf editieren. Es ist eigentlich alles darin erklärt. Wenn man die gespeichert hat, dann kann man noch in die Datei files.conf gehen und hier Dateien und Pfade bestimmen, welche man backupen möchte. Ist auch alles darin erklärt.

    Ist alles eingestellt, kann man das Backup einmal manuel laufen lassen um es zu testen:
    reoback.pl /etc/reoback/settings.conf

    Läuft alles wie es sollte, kann man anschliessend einen Cron erstellen, welcher das Backup ausführt. Dafür erstellt man einen Cronjob welcher die Datei run_reoback.sh ausführt. Zuerst muss man diese aber auch noch editieren und anpassen. Auch hier ist alles in der Datei selber erklärt. Im Zweifelsfall auch hier wieder ein cp run_reoback.sh run_reoback.sh.backup erstellen.

    Ein Croneintrag kann man zB so erstellen:

    1. crontab -e
    2.  
    3. 0 23 * * * /etc/reoback/run_reoback.sh | mail -s "automatisches Backup" admin@yourdomain.com

    Dies führt das Backup jeden Tag um 23:00 aus und sendet eine E-Mail an die angegebene E-Mail Adresse.

    screenshoots: 
  • Drupal Linux Apache Solr Search im Hintergrund laufen

    Hat man in Drupal den Apache Solr Search als Suchmaschiene installiert, kann man den in Linux/Debian mit folgendem Befehl im Hintergrund starten. Voraussetzung ist natürlich, man hat Zugriff auf die Kommandozeile.
    So wirds gemacht (natürlich muss man im Verzeichnis sein, wo die start.jar abgelegt ist):

    nohup java -jar start.jar > logfile 2>&1 &

    Hilfe zum Befehl "nohup" gibts hier:
    http://de.linwiki.org/wiki/Linuxfibel_-_Nutzerkommandos_-_Prozesssteueru...

  • SVG Ring/Donut zeichnen

    Du willst mit Javascript und SVG ein Ring bzw. ein Donut zeichnen, also ein Kreis der innen hohl ist?
    So wird es gemacht:

    1. /**
    2.   * SVG Donut Object
    3.   */
    4. var oDonut = function(x, y, r, R) {
    5. var y1 = y+R;
    6. var y2 = y+r;
    7. var path = 'M'+x+' '+y1+ 'A'+R+' '+R+' 0 1 1 '+(x+0.001)+' '+y1; // Outer circle
    8. path += 'M'+x+' '+y2+ 'A'+r+' '+r+' 0 1 0 '+(x-0.001)+' '+y2; // Inner Circle
    9. var c = document.createElementNS('http://www.w3.org/2000/svg', 'path:path');
    10. c.setAttributeNS(null, 'd', path);
    11. return c;
    12. };

  • Wuala für Android

    Endlich ists da! Wuala für Android. Ich werde das gleich Testen und ein kurzes Review machen:
    http://wualablog.blogspot.com/2011/04/wuala-for-android-os.html
    Mein Umzug in die Cloud ist komplett.

  • Wuala und Winamp

    Nachdem nun meine Musik komplett in Wuala Cloud abgelegt ist, möchte ich meine MP3 auch direkt aus Wuala streamen können. Als langjähriger Winamp Benutzer habe ich die zwei Programme auf Ihre Verträglichkeit überprüft. Meine Schlussfolgerung: Funktioniert Super!
    Einzige Schwachstelle ist das einmalige Indexieren der Sammlung. Um nämlich alle MP3s in den Index von Winamp aufzunehmen, muss Wuala jedes MP3 temporär herunterladen, damit er die Metadaten einlesen kann. Hat man dies (zb über Nacht) einmal gemacht, geht das ganze Reibungslos, solange man natürlich am Internet ist. Auch das Rescannen geht schnell, da Winamp beim Rescan nur die Dateinamen vergleicht - und dazu muss Wuala die Datei nicht herunterladen.
    Da Wuala das Streamen beherrscht, gibt es auch keine Unterbrüche zwischen den einzelnen Lieder.
    Im Anhang sind meine Medienbibliothek Einstellungen. Viel Spass!

    screenshoots: 
  • Moving to the cloud: Mein Umzug in die Cloud mit Wuala

    Seit langem teste ich den Umzug in die Cloud. Bis jetzt hat es noch nie richtig geklappt. Wuala hat es nun bei mir geschafft! Ich 'wohne' nun zu 80% in der Cloud. Ich möchte anschliessend meine Beweggründe für meine Entscheidung hier teilen. Und warum die anderen es nicht geschafft haben. Und eine Möglichkeit, wie auch Du in die Cloud umziehen kannst.

    Warum ist Wuala besser?

    Ein kurzer Vergleich von Wuala zu Dropbox. Fürher habe ich Dropbox benutzt. Das Problem bei Dropbox ist eigentlich hauptsächlich der Speicherplatz. Er ist im Vergleich teuer und wird auch in geteilten Ordner vollständig dem eigenen Konto belastet. Das kommt daher, dass man die Ordner Synchronisieren muss. Das ist dann auch das zweite Problem. Ich will nicht alles Synchronisieren. Ich möchte auch die Möglichkeit haben, Inhalte in der Cloud zu lassen und direkt zu bearbeiten. Das war für mich ein Killerkriterium.

    Wuala hat mich mit der Teilen-Philosophie gelockt. Da mein MediaServer sowieso 24/7 läuft, kann man sehr schnell sehr viel Speicherplatz verdienen - und in meinem Fall Gratis! Weiter wird Wuala Platz nur einmal beansprucht. Ich kann also einen Gruppen-Ordner erstellen mit zB 20GB Daten und jemand, der nur 2GB zur Verfügung hat kann trotzdem davon profitieren, ohne dass er seine 2GB aufgeben muss. Der Gruppenbesitzer alleine "stellt" den speicher zur Verfügung. 

    Weiter werden Dateien bei Wuala selber nur einmal abgelegt. Unter allen Benutzern. So war ich erstaunt, das einige Inhalte sofort hochgeladen waren. So kann man je nach Inhalt sehr viel Upload Zeit einsparen. Natürlich bringt dies bei den Privaten Daten nichts.

    Das Maximum aus Wuala herausholen

    Nun zu den Wuala Tricks: Auf meinem kleiner Atom-Server läuft Windows 7. Zuerst einmal habe ich Wuala ganz normal darauf installiert. Speicher tauschen, nach ca. 3 Wochen kann man bereits 20GB für sich beanspruchen. Dieser lässt sich bis auf 100GB ausweiten, wenn mindestens 10% vom getauschten Speicher benutzt wird. Ich schätze mal, dass dies 2-3 Monate dauert, bis es soweit ist. Je nach Verbindungsgeschwindigkeit könnte das wohl auch schneller gehen.

    20GB sind natürlich schnell voll und so kommt die Phase Virtual Machine. MIt VMWarePlayer habe ich Debian installiert. Ohne GUI und schnickschnack. Java installieren und dann Wuala wie auf der Homepage von Wuala installieren. Bei mir benötigt das ungefähr 50MB im RAM-Speicher. Das schreit förmlich nach mehr. Also VM klonen und klonen, usw...pro VM kann man so maximum 100GB verdienen.

    Was gehört in die Cloud?

    Als erstes habe ich meine gesamte Ablage verschoben. Das sind bei mir die Daten, die sich nie ändern. PDFs, gescannte Unterlagen, Installationsfiles von Programmen, meine Abandonware-Spiele Sammlung, usw. Danach alle Projektunterlagen meiner Firma und meine gesamten Schulunterlagen. Die aktuellsten Ordner der Firma und der Schule synchornisiere ich lokal auf Laptop und Desktop.

    Die Ablagen-Daten, welche nicht privat sind, habe ich in eine Gruppe gemacht, welche ich mit meiner Familie teile. Darin hat es auch noch ein paar CDs und Höhrbücher für die Kleinen und digitalisierte Knightrider-Tapes von früher ;-). Zur Sicherheit synchronisiere ich diesen Ordner auf meinen Server als Backup, man weiss ja nie, wann das Internet doch einmal ausfallen sollte.

    Nicht auf Wuala habe ich folgende Daten: Videos, Filme, Photos. Grund dafür ist natürlich der Platz, aber eigentlich würde ich nur meine Photos noch gerne auf Wuala haben. Ändern könnte sich dies, wenn ich erst einmal mehr Speicher verdient habe. Videos und Filme machen zur Zeit für mich keinen Sinn weil man auch bedenken muss, dass man dann bei Benutzung jedesmal zuerst die ganze Datei herunterladen muss (Wuala unterstütz aber zumindest Streaming von Inhalten!). Meine Musik habe ich drauf doch habe ich es mit Winamp noch nicht geschafft ein unterbruchfreies streaming zu erreichen. Man müsste evtl den Musikordner lokal synchronisieren. Oder einen anderen Musikplayer einsetzten. Dazu habe ich im Moment keine Zeit.

    Erfahrung

    Je länger sehe ich mich immer wie mehr nur noch den Wuala-Browser zu benutzen. Er hat sicher nicht alle die Vorteile des Windows-Explorers, doch bringt er auch einige eigene Vorteile mit. So mag ich, dass wenn man etwas tippt er sofort zu suchen beginnt. Weiter finde ich die Thumbnails super, welche man sowohl für Ordner wie auch für Dateien manuell festlegen kann.

    Das direkte arbeiten bekommt von mir die Note Top. Ich hatte bis jetzt keinerlei Probleme. Normalerweise merkt man nicht, dass er im Hintergrund arbeitet.

    PortableApps in Wuala laufen lassen

    Wenn man Wuala in das eigene Dateisystem eingebunden hat, was sehr zu empfehlen ist, kann man auch Portable Apps darauf installieren. Eine super Sache! Am meisten Freude habe ich an der DOSBox. Richtig konfiguriert können so die alten Dos Spiele direkt über Wuala gespielt werden! Commander Keen lässt grüssen...

    Meine besten Wuala-Links

    Wuala Homepage: http://www.wuala.com/

    Wuala Blog: http://www.wuala.com/blog/

    Wuala und Debian: http://www.wuala.com/blog/2009/03/effective-usage-running-wuala-on-debian.html

    Autostart in Linux: http://pascal.nextrem.ch/2009/10/20/wuala-init-d-script/

    Android App kommt bald: http://forum.wuala.com/viewtopic.php?f=11&t=334

    DosBox: http://www.dosbox.com/

    PortableApps: http://portableapps.com/

  • PHP: mysql2epub, mit PHP ePub on the fly erstellen

    Schon lange habe ich ein Buch, welches ich einmal von einer Seite gerippt habe in meiner MYSQL Datenbank abgelegt. Da es nun ein eReader in unserem Haus gibt, wollte ich das Buch wieder zurück konvertieren, damit man es auf dem eReader lesen kann. Doch wie bringt man Inhalt aus einer Datenbank in ein ePub Format? Zu meinem Erstaunen war das ganz einfach. Ein paar Kniffe gibt es aber schon. Deshalb möchte ich nun dieses kleine PHP Programm mit allen Teilen. Es darf selbstverständlich abgeändert und weiterverwendet werden und kann auch als Einstieg in die ePub Programmierung dienen. Informationen und Wissen habe ich von folgender Webseite. Sie ist zwar komplex aber komplett:
    http://www.idpf.org/doc_library/epub/OPS_2.0.1_draft.htm
    Das ganze PHP Script zum konvertieren von MYSQL nach ePub ist unten im Anhang.
    Bei Fragen und Anregungen bitte unten kommentieren, ich freue mich auf ein Feedback!

    AnhangGröße
    mysql2epub.zip7.95 KB
  • Drupal: CSS Aggregation im Private Mode

    Hat man keine Kapazitätsprobleme, kann man mit diesem Kleinen Modul die CSS optimieren, vereinigen und Cachen. Leider ist dies ansonsten in Drupal 6 Core nicht möglich. Ich weiss, der Cache braucht relativ viel Platz in der DB, aber dies ist in meinem Fall kein Problem. Das Modul erstellt für jede Seite, welche eine andere CSS Dateien Konstellation hat, ein eigener Cache-Eintrag. Die Geschwindigkeit zum Laden der Seite ist bei mir extrem gestiegen (> 33%). Anregungen bitte im Kommentar posten!

    1. // die Folgenden Konstanten anpassen
    2. define('MINICSSDPATH', '/var/www/vhosts/yourhost/httpdocs');
    3. define('MINICSSCACHE', true);
    4.  
    5.  
    6. function minicss_menu() {
    7. $items = array();
    8. $items['minicss/css'] = array(
    9. 'title' => 'minicss css',
    10. 'page callback' => 'minicss_minify',
    11. 'page arguments' => array(2,'css'),
    12. 'access callback' => true,
    13. 'type' => MENU_CALLBACK,
    14. );
    15. return $items;
    16. }
    17.  
    18. /**
    19.  * Implementation of hook_preprocess_page()
    20.  */
    21. function minicss_preprocess_page(&$variables) {
    22. if (!empty($variables['styles'])) {
    23. preg_match_all('|href="(.*?\.css)|', $variables['styles'], $matches1);
    24. $variables['styles'] = '<link type="text/css" '.
    25. 'rel="stylesheet" media="all" '.
    26. 'href="/minicss/css/'.
    27. base64_encode(implode(',',$matches1[1])).'" />';
    28. }
    29. }
    30.  
    31. function minicss_minify($files,$type) {
    32. header('Content-Type: text/'.$type);
    33. header('Cache-control: public');
    34.  
    35. // The Checksum identifies the unique css-File-Package
    36. $checksum = md5($files);
    37. // Recive Cached CSS-Package
    38. $cache = cache_get('minicss_'.$checksum);
    39. // If Package does not exist, create it and output
    40. if (!$cache) {
    41. $output = '';
    42. $files = explode(',',base64_decode($files));
    43. foreach ($files as $file) {
    44. $content = file_get_contents(MINICSSDPATH.$file);
    45. // remove comments
    46. $content = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $content);
    47. //$content = str_replace("\t", ' ', $content); // Removing Tabs somehow creates problems...
    48. // Remove special chars
    49. $content = str_replace(array("\r\n", "\r", "\n", ' ', ' ', ' '), '', $content);
    50.  
    51. // urls sind relativ zum CSS file und müssen dementsprechend relativ zum miniCSS angepasst werden
    52. $path = str_replace(array_pop(explode('/',$file)), '', $file);
    53. $content = str_replace('url(', 'url('.$path,$content);
    54. $output .= $content;
    55. }
    56. // Write new created Package into Cache for next time
    57. if (MINICSSCACHE) cache_set('minicss_'.$checksum,$output);
    58. header ("Content-Length: " . strlen($output));
    59. print $output;
    60. }
    61. else {
    62. // If Cache-package already exists, output cache, also add Information about version
    63. $output = '/* Retrieved from Cache; Version: '.date('Y.m.d H:i',$cache->created).' */'."\n\n".$cache->data;
    64. header ("Content-Length: " . strlen($output));
    65. print($output);
    66. }
    67. }

    Evtl. muss man in der Datenbank Tabelle "System" das Modul-weight noch an den Schluss setzen.

  • Apache/PHP: Sendmail funktioniert nicht

    Wenn man auf Debian LAMP selber installiert, dann habe ich bemerkt, dass Email in PHP versenden nicht automatisch funktioniert. Zuerst sollte man nicht vergessen, in der php.ini den Pfad zu sendmail anzugeben. Doch das alleine funktioniert noch nicht, da sendmail so eingestellt ist, dass es nur Server intern Mails versenden kann. Sämtliche Mails nach aussen werden geblockt. Mit folgendem Befehl kann man diese Einstellung ändern:

    dpkg-reconfigure exim4-config

    Man kommt in ein Konfigurationsmenü. Hier wählt man die Option "internet site; mail is sent and received directly using SMTP" und schaltet damit "local delivery only; not on a network" aus. Die weiteren Einträgen kann man lassen, bei mir habe ich noch jeweils den Host geändert. Sonst habe ich nichts verändert. Nun funktioniert der Email Versand von Drupal wieder ordentlich!

Inhalt abgleichen