Update 21.07.2009
- mysqldump angepasst, damit die dumps auch mit phpMyAdmin eingelesen werden können.
- durchgängige Benennung der Dateien (Zeitformat überall gleich)
- Problembehebung Zeitformat (19:22:20 hat zumindest Mac auf einem smb Share nicht gerne)
- DB information_schema wird nicht mehr mitgesichert
- Vor jeder File Erstellung wird die Zeit neu eingelesen. Dadurch hat man die genaue Übersicht des Backupzeitpunkts
Update 30.06.2009 – INCFILE Pfad angepasst. Nun wird das tar-inc-backup.dat File sicher im gleichen Ordner wie das Script abgelegt.
Gestern habe ich das für mich ultimative Script zum erstellen eines Backup via Bash Script entdeckt.
#!/bin/sh
# Website + MySQL backup script
# Full backup day - Sun (rest of the day do incremental backup)
# Copyright (c) 2005-2006 nixCraft <http://www.cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# Modified June 2009 by BlatterTech Informatik www.blattertech.ch
#
# Restore Database Backup
# gunzip mybackup.sql.gzip
# mysql -u USER -p dbname < mybackup.sql
#
# Restore Files
# You need to restore the last full backup first ($FULLBACKUP day)
# followed by each of the subsequent incremental backups to the
# present day in the correct order.
#
# ---------------------------------------------------------------------
### Backp Name ###
BACKUPSET="Backup of Website xy"
SHORTNAME="websitexy"
### System Setup ###
DIRS="/home/path/to/files /home/path/to/other/files"
BACKUP=/tmp/backup.$$
NOW=$(date +"%Y%m%d")
SCRIPTPATH=`dirname $0`
INCFILE="$SCRIPTPATH/$SHORTNAME-tar-inc-backup.dat"
DAY=$(date +"%u")
# 1=Mon, 2=Tue, 3=Wed, ..
FULLBACKUP="2"
### MySQL Setup ###
MUSER="mysqluser"
MPASS="mysqlpassword"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
### FTP server Setup ###
FTPD="/path/on/ftpserver"
FTPU="ftpuser"
FTPP="ftppassword"
FTPS="your.ftpserver.com"
NCFTP="$(which ncftpput)"
### Other stuff ###
EMAILID="your@email.com"
### Start Backup for file system ###
[ ! -d $BACKUP ] && mkdir -p $BACKUP || :
### See if we want to make a full backup ###
i=$(date +"%Hh%Mm%Ss")
if [ ! -f $INCFILE ]; then
FTPD="$FTPD/full"
FILE="$SHORTNAME-files-full-$NOW-$i.tar.gz"
tar -g $INCFILE -zcvf $BACKUP/$FILE $DIRS
elif [ "$DAY" == "$FULLBACKUP" ]; then
FTPD="$FTPD/full"
FILE="$SHORTNAME-files-full-$NOW-$i.tar.gz"
tar -zcvf $BACKUP/$FILE $DIRS
else
FTPD="$FTPD/incremental"
FILE="$SHORTNAME-files-i-$NOW-$i.tar.gz"
tar -g $INCFILE -zcvf $BACKUP/$FILE $DIRS
fi
### Start MySQL Backup ###
# Get all databases name
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
if [ "$db" == "information_schema" ]; then
continue
fi
i=$(date +"%Hh%Mm%Ss")
FILE=$BACKUP/$SHORTNAME-mysql-$db.$NOW-$i.sql.gz
$MYSQLDUMP -Q --opt --compact -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
# FILE=$BACKUP/$SHORTNAME-mysql-$db.$NOW-$(date +"%T").sql.bz2
# $MYSQLDUMP -Q --opt --compact -u $MUSER -h $MHOST -p$MPASS $db | bzip2 -cq9 > $FILE
done
i=$(date +"%Hh%Mm%Ss")
### Make md5 Sum ###
$(which md5sum) -b $BACKUP/* >$BACKUP/$SHORTNAME-backup$NOW-$i.md5
### Dump backup using FTP ###
#Start FTP backup using ncftp
#If ncftp not aviable, use ftp:
#ftp -inv $FTPS <<END_SCRIPT
#quote USER $FTPU
#quote PASS $FTPP
ncftp -u"$FTPU" -p"$FTPP" $FTPS<<EOF
mkdir $FTPD
mkdir $FTPD/$NOW
cd $FTPD/$NOW
lcd $BACKUP
mput *
quit
EOF
### Find out if ftp backup failed or not ###
if [ "$?" == "0" ]; then
rm -f $BACKUP/*
else
T=/tmp/backup.fail
echo "Date: $(date)">$T
echo "Hostname: $(hostname)" >>$T
echo "Backup Set: $BACKUPSET"
echo "Backup failed" >>$T
mail -s "BACKUP FAILED" "$EMAILID" <$T
rm -f $T
fi
Das Script habe ich hier gefunden.
Auf der selben Seite gibt es einen Generator um das Script mit den eigenen Parametern abzufüllen.
http://bash.cyberciti.biz/backup/wizard-ftp-script.php
Ich habe das Script noch ein wenig aufgebohrt. So habe ich die Möglichkeit geschaffen beim Fehlermail mitzugeben welches Backup den Fehler verursacht hat. Zudem habe ich die Bezeichnung des Backuptages auf die Tagesnummer geändert. Somit ist das Script nicht von der Systemsprache abhängig.
Zu guter letzt, habe ich eine Prüfung eingebaut ob das tar.dat File vorhanden ist. Dieses wird für das incrementelle Backup verwendet. Falls dieses nicht existiert, wird ein Fullbackup gemacht.
Kunden von CeviNet können das Script einfach in Ihrem Webspace als Cronjob einbinden:

Cronjob einrichten
Popularity: 7% [?]

Vor kurzem habe ich den YAML Builder das erste Mal richtig benutzt. Absolut cool das Teil. Einfacher lässt sich ein valides CSS Grundgerüst nicht erstellen.
Einziger Wehmutstropfen. Auch der Builder ist nur für fortgeschrittene User benutztbar. Ohne Kentnisse der Materie, hat der User keine Ahnung was er genau macht und wie er das “fertige” Template bearbeiten kann.
Popularity: 1% [?]
Statt jede Menge verschiedene Browser zu installieren um eine Webseite zu testen, reichen in der Regel drei verschiedene Browser. Z.B. IE7, Firfox und Safari und Mac. Für alle restlichen Browser gibt es Angebote wie z.B. Browsershots.org:
http://browsershots.org/
Hier lassen sich mit Angabe einer URL PrintScreen von über 50 verschiedenen Browsern mit 3 verschiedenen Betriebssystemen herunterladen. Es werden Windows, Linux und Mac unterstützt.
Popularity: 1% [?]
Immer mal wieder braucht man ein Sonderzeichen. Meisten habe ich bis anhin Microsoft Word gestartet und in den Sonderzeichen danach gesucht. Nun gibt es eine Webseite die das Kopieren und Einfügen von Sonderzeichen sehr vereinfacht.

copypastecharacter.com
Auf der Webseite CopyPasteCharacter findet man die gängigsten Sonderzeichen. Mit einem Klick darauf wird das entsprechende Sonderzeichen in die Zwischenablage des Computers gespeichert. Danach zum Text gehen in den man das Sonderzeichen einfügen will und mittels Ctrl+V einfügen. Die Sonderzeichen können wahlweise als Text oder als HTML-code in die Zwischenablage kopiert werden.
Popularity: 11% [?]
Mit Twitter haben die Kurz-URL Hochkonjuktur. Vor kurzem hat ein Wurm sich der Verschleierung der URL durch einen Kurz-URL Dienst bedient. Um dieses Problem zu entschärften gibt es für den Firefox die Erweiterung “Long URL Please“. Diese stellt die Kurz-URLs in voller Länge dar. Das Plug-in unterstützt zahlreiche Webdienste wie TinyURL und bit.ly, die Webadressen abkürzen und die echte Zieladresse verschleiern.

Im Konfigurationsmenü von Long URL Please kann die Adressauflösung genauer konfiguriert werden. Die Rückkehr zu normalen Links steckt hinter der Einstellung “Replace href, and link text in full”. Dadurch wird jede URL so angezeigt, als sei kein Kurz-URL-Dienst dazwischen.
Derzeit werden 65 Abkürzungsdienste unterstützt.
Popularity: 1% [?]
Nordkorea ist als eines der abgeschottetsten Länder der Welt bekannt. Das komunisitische Regime hält das Land unter eiserner Kontrolle. Curtis Melvin hat für Google Earth einen Layer über Nordkorea erstellt.
The most authoritative map of North Korea” – die verlässlichste Karte von Nordkorea, nennt Curtis Melvin selbstbewusst “North Korea Uncovered“. Das ist ein Layer für Google Earth, der detaillierte Informationen über eines der abgeschottetsten und rätselhaftesten Länder der Erde bietet.

Auf dem Layer sind Sehenswürdigkeiten, Straflager, Kraftwerke, etc zu sehen. Die Daten wurden durch Melvin selber gesammelt, aus Propagandavideos und Zeitungsberichten ausgewertet. Viele Nutzer der Karte schickten Melvin weitere Informationen zu Nordkorea. So konnte die Karte laufend ergänzt werden.
Einen interessanten Artikel dazu findet sich auf Golem.
Um die Karte zu benutzen, muss zuerst Google Earth installiert werden.
Danach lädt man sich die Datei North-Korea-Uncovered-17.kmz herunter und öffnet sie in Google Earth.
Die Karte mit den Informationen ist danach unter “Meine Orte” zu finden. Am Anfang kann es sein, das dies noch unter dem Namen “Temporäre Orte” abgelegt ist. Am einfachsten alle Ebenen aufklappen, dann findet man die Karte schnell.

Popularity: 3% [?]
Neben Zattoo gibt es in der Schweiz nun einen zweiten Anbieter von Fernsehen via Internet.

Wilmaa bietet das Fernsehen über eine Flash Applikation direkt im Browser an. Klappt sehr gut.
Wilmaa und Zattoo werden übrigens vom Schweizer Fernsehen empfohlen.

Popularity: 12% [?]
Über einen Kommentar in Daydealbin ich auf die Seite livebuzz.ch gekommen. Auf dieser werden mehrere Tagesangebote von verschiedenen Anbietern zusammengefasst angezeigt und verlinkt.

LiveBuzz wird von Micha Kellenberger betrieben.
Popularity: 1% [?]
Will man den Inhalt eines PDFs ins Word exportieren, kann mittels Markieren und Copy/Paste der Text aus dem PDF ins Word eingefügt werden. Dabei gehen jedoch alle Konvertierungen sowie Bilder verloren.
Es gibt mehrere Webservices welche PDFs ins RTF oder Word-Format umwandeln:
Die Texte und Bilder werden im Word in Text-Boxen eingefügt. Dadurch bleibt die Formatierung erhalten udn es können kleine Anpassungen gemacht werden. Die Daten können jedoch nicht so aufbereitet werden, wie sie ursprünglich waren.
Wer das ganze lieber auf dem PC macht, kann z.B. die Software SolidConverter PDF benutzen.
Popularity: 1% [?]
Heute hat PC Tipp auf der Webseite eine Liste der Zugangsdaten der gängigen Mailprovider veröffentlicht.
Ich habe dies zum Anlass genommen die Liste sauber auf meiner Webseite zusammenzustellen.
Zugangdaten der gängigen Mailprovider
Popularity: 1% [?]