MySQL-Datenbank automatisch sichern und per Email versenden

Jeder, der mal eine Datenbank durch einen Crash oder durch eine Programmier-Unachtsamkeit verloren hat und keine Sicherung hatte, weiss wie schlimm das sein kann. Alles ist weg.

Dabei kann man sich sehr einfach vor solch einem Totalverlust schützen. Man lässt sich einfach in bestimmten Intervallen eine Sicherung der Datenbank per Email zuschicken. In Zeiten von Webmail-Diensten mit viel Speicherplatz wie „Google Mail“ hat man hier zudem noch einen zusätzlichen Sicherungsfaktor.

Ich habe mir heute mal ein kleines Script geschrieben, mit dem man sich per Email den Inhalt einer Datenbank zuschicken lassen kann:

";
/* Systemcall */
system("/usr/bin/mysqldump -u".$dbuser." -p".$dbpw." -h ".$dbhost." ".$db." | /bin/gzip > ".$file, $fp);
if ($fp==0) echo "Dump generated"; else die("Ooops. An error occured!");
/* Prepare the email*/
$boundary 	= strtoupper(md5(uniqid(time())));
$mail_header  	= "From:".$from."\n";
$mail_header 	.= "MIME-Version: 1.0";
$mail_header 	.= "\nContent-Type: multipart/mixed; boundary=".$boundary;
$mail_header 	.= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header 	.= "\n--".$boundary;
$mail_header 	.= "\nContent-Type: text/plain";
$mail_header 	.= "\nContent-Transfer-Encoding: 8bit";
$mail_header 	.= "\n\n".$message;
$file_content	 = fread(fopen($file,"r"),filesize($file));
$file_content	 = chunk_split(base64_encode($file_content));
$mail_header 	.= "\n--".$boundary;
$mail_header 	.= "\nContent-Type: application/octetstream; name=\"".$file."\"";
$mail_header 	.= "\nContent-Transfer-Encoding: base64";
$mail_header 	.= "\nContent-Disposition: attachment; filename=\"".$file."\"";
$mail_header 	.= "\n\n".$file_content;
$mail_header 	.= "\n--".$boundary."--";
/* Send the email */
mail($to,$subject,"",$mail_header);
?>

Den obigen Text kopiert man mit einem beliebigen Texteditor in eine neue Datei und speichert diese in einem (vornehmlich) geschützten Bereich (z. B. mail_backup.php) auf dem eigenen Webserver. Ruft man nun das Skript auf wird die Datenbank gesichert und dann automatisch an die gewünschte Email-Adresse geschickt.

Wenn man ein Hosting-Paket hat, mit dem man Crons verwalten kann, so kann man sich beispielsweise jeden Sonntag einen Backup schicken lassen — oder auch jeden Tag. Sollte man keinen Zugriff auf Crons haben, so kann man auch einen Dienst im Internet benutzen (z.B. Cron-Server).

flickr mit Camera Finder

Flickr hat ein neues sehr nützliches Feature online gestellt: den Camera Finder

Flickr Camera Finder

Da flickr standardmäßig die EXIF-Daten der hochgeladenen Bilder analysiert, können diese Daten natürlich statistisch ausgewertet werden. Ich habe z.B. eine Nikon D50 und man kann sehr schön erkennen, dass diese Kamera nach wie vor sehr aktuell ist und die am meisten benutzte Kamera ist nach der Canon Digital Rebel.

Der Camera Finder ist mit Sicherheit eine äusserst nützliche Hilfe vor einem Kamerakauf, weil man sich viele tolle Beispielbilder ansehen kann.

via (surfgarden)

scrybe

Uih uih. Ich habe das Gefühl es gibt einen neuen Web2.0-Star am Himmel. Ein Kalender mit ToDo und allem Drum und Dran. Einfach mal das Video ansehen:

scrybe

Scrybe™ is a groundbreaking online organizer that caters to today´s lifestyle in a cohesive and intuitive way. Simple solutions for some age old problems.

Die Beta-Phase beginnt noch im Oktober — man muss sich bewerben.

Schneller nachschlagen mit AJAX

Für diejenigen, die desöfteren Syntax nachschauen müssen, ist diese kleine Seite interessant (basierend auf AJAX):

Sidebar

Damit kann man recht schnell PHP und CSS und auch bald MySQL und Javascript – Syntax nachschlagen.

Am sinnvollsten ist dieser „Quick Lookup“, wenn man ihn in die Sidebar verfrachtet. Wie das geht ist auf der Seite beschrieben.

➡ Quick Lookup

del.icio.us richtig benutzen

Einen sehr interessanten Artikel wie man den Bookmarkdienst del.icio.us richtig ausreizt hab ich heute gefunden.

Einige Tipps, die der Autor gibt kannte ich schon — andere nicht.

Hier in einem kurzen Abriss die wichtigsten Punkte (der Artikel ist in englischer Sprache verfasst):

  1. delicious 42pxBookmarke alles was du findest und für interessant hältst! Es gibt viele Bookmarklets, die dir dabei helfen.
  2. Benutze sinnvolle Tags! Lege dich fest auf z. B. „blog“ anstatt „blogs“. Und bleibe auch dabei.
  3. Mache Gebrauch von der „inbox“ — man kann damit wunderbar andere Tags und User „beobachten“.
  4. Reize die „inbox“ aus mit spezifischen Tag-Kombinationen (z.B. dvd+matrix).
  5. Beobachte andere User und schaue, was diese taggen.
  6. Benutze die RSS-Features von del.icio.us. Fast jede Seite kann per RSS abonniert werden.
  7. Veröffentliche deine Bookmarks. Binde sie in dein Weblog ein oder schicke den Link an Freunde.
  8. Surfe auf del.icio.us herum und entdecke es. 😉

Momentan ist aber del.icio.us mal wieder nicht erreichbar. 🙁

Pixelfonts selbstgemacht

Wer schon immer mal einen eigenen Pixelfont kreieren wollte, der kann dies nun online tun.

BitfontmakerUnter http://www.pentacom.jp/soft/ex/font/edit.html kann man sich mittels eines hübsch gemachten Interface seinen Font zusammenpixeln. Anschliessend kann man den Font dann speichern.

Ich habe damit mal angefangen, aber leider ist das eine sehr langwierige Arbeit und habe dann schliesslich aufgegeben. Mal schauen, wann ich genug Muße habe. 🙂