Installing MongoDB Binaries on Mac
Get latest binaries from here: http://www.mongodb.org/downloads
and unzip.
Insert the following content
Create a LaunchDaemon
Try it with http://localhost:28017
and unzip.
CODE:
sudo mv mongodb-osx-x86_64-2.2.1 /usr/local/mongodb
sudo mkdir /usr/local/mongodb_data /var/log/mongodb
sudo chown -R root /usr/local/mongodb
sudo vi /usr/local/mongodb/mongod.conf
sudo mkdir /usr/local/mongodb_data /var/log/mongodb
sudo chown -R root /usr/local/mongodb
sudo vi /usr/local/mongodb/mongod.conf
Insert the following content
CODE:
# Store data alongside MongoDB instead of the default, /data/db/
dbpath = /usr/local/mongodb_data
# Only accept local connections
bind_ip = 127.0.0.1
dbpath = /usr/local/mongodb_data
# Only accept local connections
bind_ip = 127.0.0.1
Create a LaunchDaemon
CODE:
sudo vi /Library/LaunchDaemons/org.mongodb.mongod.plist
CODE:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mongodb.mongod</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mongodb/bin/mongod</string>
<string>run</string>
<string>--config</string>
<string>/usr/local/mongodb/mongod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/mongodb</string>
<key>StandardErrorPath</key>
<string>/var/log/mongodb/output.log</string>
<key>StandardOutPath</key>
<string>/var/log/mongodb/output.log</string>
</dict>
</plist>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mongodb.mongod</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mongodb/bin/mongod</string>
<string>run</string>
<string>--config</string>
<string>/usr/local/mongodb/mongod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/mongodb</string>
<key>StandardErrorPath</key>
<string>/var/log/mongodb/output.log</string>
<key>StandardOutPath</key>
<string>/var/log/mongodb/output.log</string>
</dict>
</plist>
CODE:
sudo launchctl load /Library/LaunchDaemons/org.mongodb.mongod.plist
Try it with http://localhost:28017
CODE:
sudo sh -c 'echo "/usr/local/mongodb/bin" > /etc/paths.d/mongodb'
Installation PEAR/PECL/autoconf/intl/icu auf Mac OSX Mountain Lion
Installation PEAR/PECL/autoconf/intl/icu auf Mac OSX Mountain Lion
- Install PECL & PEAR
- Add to php.ini
- Update pear channels
- Install ICU from http://site.icu-project.org/download/48#ICU4C-Download
If you get something linke this...
you have to install the apple command line tools which you will find
under the following URL for the appropriate OS version like Mountain Lion.
then you should be able to install it..
If you have autoconfi missing go for that:
Now you should add "extension=intl.so" to php.ini and restart apache. Here you go.
- Install PECL & PEAR
CODE:
cd /usr/lib/php
sudo php install-pear-nozlib.phar
sudo php install-pear-nozlib.phar
- Add to php.ini
CODE:
include_path = ".:/usr/lib/php/pear"
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20090626"
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20090626"
- Update pear channels
CODE:
sudo pear channel-update pear.php.net
sudo pecl channel-update pecl.php.net
sudo pear upgrade-all
sudo pecl channel-update pecl.php.net
sudo pear upgrade-all
- Install ICU from http://site.icu-project.org/download/48#ICU4C-Download
CODE:
tar -xzvf icu4c-4_8_1_1-src.tgz
cd icu/source/
./runConfigureICU MacOSX
make
sudo make install
cd icu/source/
./runConfigureICU MacOSX
make
sudo make install
If you get something linke this...
configure: error: in `/Users/peterrehm/Downloads/icu/source':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
./runConfigureICU: ./configure failed
you have to install the apple command line tools which you will find
under the following URL for the appropriate OS version like Mountain Lion.
CODE:
https://developer.apple.com/devcenter/mac/index.action
then you should be able to install it..
CODE:
sudo pecl install intl
If you have autoconfi missing go for that:
CODE:
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar -xzvf autoconf-latest.tar.gz
cd autoconf-2.69/
tar -xzvf autoconf-latest.tar.gz
cd autoconf-2.69/
Now you should add "extension=intl.so" to php.ini and restart apache. Here you go.
MAC OSX; Locate Database aktualisieren
Mit dem folgenden Befehl wird die Erzeugung des locate Indexes angestoßen:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
Anzeige der git branch in der Console (OSX/bash)
.bash_profile anlegen mit dem folgenden Inhalt
Danach sieht der shell prompt wie folgt aus:
Dadurch wird nebenbei auch die completion hinzugefügt, zum Beispiel bei
der Auswahl der Branches mittels git branch...
PATH=$PATH:/usr/local/git/bin:.
source /usr/local/git/contrib/completion/git-completion.bash
PS1='[\u@\h \w$(__git_ps1 " (%s)")]\$ '
Danach sieht der shell prompt wie folgt aus:
[peterrehm@tokyo-3 /www/scalc (master)]$
Dadurch wird nebenbei auch die completion hinzugefügt, zum Beispiel bei
der Auswahl der Branches mittels git branch
PEAR unter OSX Leopard installieren
Im folgenden wird in aller kürze beschrieben, wie man PEAR unter
OSX 10.5 Leopard installiert. Dies sollte unter den vorherigen OSX
Versionen sicher ähnlich funktionieren.
Auf meinem lokalen System habe ich PHP5 von entropy.ch am laufen, da
ich unbedingt die GD-Lib benötige. Dies hat nur Einfluss auf die Ablage
der php.ini. Dies muss eben von den auf dem jeweilig auf dem System vorhandenen
Gegebenheit abhängig gemacht werden.
Wir werden in /usr/local/ installieren, und dem System gestatten die TEMP-Files
in /usr/local/temp abzulegen.
Im nächsten Schritt wird go-pear ausgeführt.
Hier muss bei den Pfaden der 1. auf /usr/local geändert werden.
Alle anderen Einstellungen können in der Regel beibehalten werden.
Während der Installation kommt dann die Warnung, dass der PEAR Pfad
noch nicht in der php.ini vorhanden ist, und es deswegen zu Problemen
mit der Verwendung von den PEAR Scripts kommen kann.
Hier kommen wir an den Punkt wo es wichtig ist, zu wissen, wo die
Konfigurationsdatei des Webservers liegen muss. Dies kann man einfach
über ein kurzes Script herausfinden:
Im Browser die Datei ansehen und nach folgender Zeile suchen.
Hier muss die php.ini für den Webserver liegen, die php.ini für
das Command-Line-Interface (CLI) unabhängig davon in /etc/
Standardgemäß ist eine php.ini.default in /etc/. Diese kopieren
und modifizieren wir zunächst.
Nun nach dem Eintrag include_path suchen und diesen um "/usr/local/share/pear"
ergänzen. Bei mir sah dies nach der Anpassung so aus.
Ist eine php.ini in dem Config-Path des Webservers vorhanden bearbeiten
wir diese, ansonsten kopieren wir die Datei /etc/php.ini an die gewünschte
Stelle
Abschließend muss noch der Webserver neu gestartet werden, dann ist PEAR
einsatzfähig.
Anmerkung: Kann PEAR von der Konsole nicht mit dem Befehl pear aufgerufen werden,
ist /usr/local/bin nicht korrekt in den SHELL-Pfaden eingetragen, und sollte nachgetragen
werden. Tipp: echo $PATH zum überprüfen in der SHELL eingeben.
OSX 10.5 Leopard installiert. Dies sollte unter den vorherigen OSX
Versionen sicher ähnlich funktionieren.
Auf meinem lokalen System habe ich PHP5 von entropy.ch am laufen, da
ich unbedingt die GD-Lib benötige. Dies hat nur Einfluss auf die Ablage
der php.ini. Dies muss eben von den auf dem jeweilig auf dem System vorhandenen
Gegebenheit abhängig gemacht werden.
Wir werden in /usr/local/ installieren, und dem System gestatten die TEMP-Files
in /usr/local/temp abzulegen.
CODE:
sudo mkdir /usr/local/temp
sudo chmod -R 777 /usr/local/temp
sudo mkdir /usr/local/share/pear
sudo chmod -R 777 /usr/local/share/pear
sudo chmod -R 777 /usr/local/temp
sudo mkdir /usr/local/share/pear
sudo chmod -R 777 /usr/local/share/pear
Im nächsten Schritt wird go-pear ausgeführt.
CODE:
curl http://pear.php.net/go-pear | php
Hier muss bei den Pfaden der 1. auf /usr/local geändert werden.
Alle anderen Einstellungen können in der Regel beibehalten werden.
Während der Installation kommt dann die Warnung, dass der PEAR Pfad
noch nicht in der php.ini vorhanden ist, und es deswegen zu Problemen
mit der Verwendung von den PEAR Scripts kommen kann.
Hier kommen wir an den Punkt wo es wichtig ist, zu wissen, wo die
Konfigurationsdatei des Webservers liegen muss. Dies kann man einfach
über ein kurzes Script herausfinden:
CODE:
<? phpinfo(); ?>
Im Browser die Datei ansehen und nach folgender Zeile suchen.
CODE:
Configuration File (php.ini) Path /usr/local/php5/lib
Hier muss die php.ini für den Webserver liegen, die php.ini für
das Command-Line-Interface (CLI) unabhängig davon in /etc/
Standardgemäß ist eine php.ini.default in /etc/. Diese kopieren
und modifizieren wir zunächst.
CODE:
sudo cp /etc/php.ini.default /etc/php.ini
sudo nano /etc/php.ini
sudo nano /etc/php.ini
Nun nach dem Eintrag include_path suchen und diesen um "/usr/local/share/pear"
ergänzen. Bei mir sah dies nach der Anpassung so aus.
CODE:
include_path=".:/usr/local/share/pear"
Ist eine php.ini in dem Config-Path des Webservers vorhanden bearbeiten
wir diese, ansonsten kopieren wir die Datei /etc/php.ini an die gewünschte
Stelle
CODE:
sudo cp /etc/php.ini /usr/local/php5/lib/php.ini
Abschließend muss noch der Webserver neu gestartet werden, dann ist PEAR
einsatzfähig.
CODE:
sudo apachectl restart
Anmerkung: Kann PEAR von der Konsole nicht mit dem Befehl pear aufgerufen werden,
ist /usr/local/bin nicht korrekt in den SHELL-Pfaden eingetragen, und sollte nachgetragen
werden. Tipp: echo $PATH zum überprüfen in der SHELL eingeben.
Backupplan
Als letzte Anmerkung zu dem ganzen Backup Thema noch mein Backup Plan.
Täglich: Datensicherung der geänderten Dateien per rsync. [anleitung]
Monatlich: Datensicherung über Carbon Copy Cloner. [anleitung]
Ich denke das ist ein vernünftige und einfach zu handhabende Datensicherung, so dass ich dem totalen Supergau hoffentlich immer entrinnen kann. Vorbei ist es nun mit dem Blogmarathon über Backups
Täglich: Datensicherung der geänderten Dateien per rsync. [anleitung]
Monatlich: Datensicherung über Carbon Copy Cloner. [anleitung]
Ich denke das ist ein vernünftige und einfach zu handhabende Datensicherung, so dass ich dem totalen Supergau hoffentlich immer entrinnen kann. Vorbei ist es nun mit dem Blogmarathon über Backups
Festplatte klonen mit Carbon Copy Cloner
Der nun letze Teil der Backup Serie behandelt das Spiegeln der gesamten Platte. Dies ist meine zusätzliche Sicherung,
dass ich im Extremfall einfach von der Firewire HDD booten kann.
Ich hab meine Firewire HDD in mehrere Partitionen unterteilt, unter anderem 100GB für die tägliche Sicherung,
wo per rsync die geänderten Dateien kopiert werden. Die andere Partition hat 120GB und die soll das Ziel werden
für die geklonte Version. Dieses Laufwerk heisst treffend "Cloned"
Als erstes solltet Ihr euch CCC (Carbon Copy Cloner) downloaden, SuperDuper wäre eine Alternative.
Das Programm installiert Ihr und startet es. Eure Firewire HDD solltet Ihr mit einer geeigneten Partition,
also so groß wie die Interne bereithalten. Tipp: Partitionieren könnt ihr mit dem Dienstprogramm "Festplatten-Dienstprogramm".

Ihr seht nun etwas wie oben, nachdem Ihr als Quelle eure Macintosh HD ausgewählt habt.
Als Ziel nehmt Ihr die Partition auf eurer Firewire HDD, auf der Ihr sichern möchtet.
Dann müssen nur noch die Einstellungen bearbeitet werden.

Wichtig ist nur, dass Ihr den Haken bei bootfähig macht.
Dann kommt noch ein kniffligerer Teil. Wir möchten ja nicht, dass die gesicherten Platten auch von Spotlight indiziert werden.
Daher soll der Index für die Partition ausgeschaltet sein. Dafür benötigen wir ein kleines Shell Skript.
Das heisst Ihr legt eine Textdatei mit der Endung .sh in einem Verzeichnis eurer Wahl an.
Bei mir ~/scripts/ also /Users/peterrehm/scripts/. In die Textdatei kommt folgender Inhalt:
Dann öffnet Ihr den Terminal, wir müssen dem Skript noch die richtigen Rechte geben.
Gebt dazu im Terminal folgendes ein
"no_index.sh" Ist der Name des Skripts, dem wir hier die Rechte zum Ausführen geben.
Nun können wir das Skript unter den fortgeschrittenen Einstellungen eintragen.

Wir tragen es unter "post-Action" ein, das bedeutet, das Programm wird nach dem Kopieren
ausgeführt. Damit sollte das Problem mit Spotlight unterbunden sein.
Nun sind wir mit den Einstellungen fertig.
Um nun beginnen zu können müssen wir dem Programm erst das Admin Passwort
geben, dass es auch alle Dateien kopieren kann.
Dazu klickt man auf das kleine Schloß.

Danach muss man das Passwort eingeben

Nun ist alles soweit und man kann auf "klonen" klicken.

Das dauert nun eine ganze Weile, danach hat mein ein bootbares OSX auf seiner
Firewire HDD.
Tipp: Um von der Firewire HDD booten zu können, muss man während dem Startvorgang
die Taste "alt" drücken.
dass ich im Extremfall einfach von der Firewire HDD booten kann.
Ich hab meine Firewire HDD in mehrere Partitionen unterteilt, unter anderem 100GB für die tägliche Sicherung,
wo per rsync die geänderten Dateien kopiert werden. Die andere Partition hat 120GB und die soll das Ziel werden
für die geklonte Version. Dieses Laufwerk heisst treffend "Cloned"
Als erstes solltet Ihr euch CCC (Carbon Copy Cloner) downloaden, SuperDuper wäre eine Alternative.
Das Programm installiert Ihr und startet es. Eure Firewire HDD solltet Ihr mit einer geeigneten Partition,
also so groß wie die Interne bereithalten. Tipp: Partitionieren könnt ihr mit dem Dienstprogramm "Festplatten-Dienstprogramm".

Ihr seht nun etwas wie oben, nachdem Ihr als Quelle eure Macintosh HD ausgewählt habt.
Als Ziel nehmt Ihr die Partition auf eurer Firewire HDD, auf der Ihr sichern möchtet.
Dann müssen nur noch die Einstellungen bearbeitet werden.

Wichtig ist nur, dass Ihr den Haken bei bootfähig macht.
Dann kommt noch ein kniffligerer Teil. Wir möchten ja nicht, dass die gesicherten Platten auch von Spotlight indiziert werden.
Daher soll der Index für die Partition ausgeschaltet sein. Dafür benötigen wir ein kleines Shell Skript.
Das heisst Ihr legt eine Textdatei mit der Endung .sh in einem Verzeichnis eurer Wahl an.
Bei mir ~/scripts/ also /Users/peterrehm/scripts/. In die Textdatei kommt folgender Inhalt:
CODE:
#!/bin/bash
sudo mdutil -i off /Volumes/Cloned
sudo mdutil -E /Volume/Cloned
sudo mdutil -i off /Volumes/Cloned
sudo mdutil -E /Volume/Cloned
Dann öffnet Ihr den Terminal, wir müssen dem Skript noch die richtigen Rechte geben.
Gebt dazu im Terminal folgendes ein
CODE:
chmod 755 /Users/peterrehm/scripts/no_index.sh
"no_index.sh" Ist der Name des Skripts, dem wir hier die Rechte zum Ausführen geben.
Nun können wir das Skript unter den fortgeschrittenen Einstellungen eintragen.

Wir tragen es unter "post-Action" ein, das bedeutet, das Programm wird nach dem Kopieren
ausgeführt. Damit sollte das Problem mit Spotlight unterbunden sein.
Nun sind wir mit den Einstellungen fertig.
Um nun beginnen zu können müssen wir dem Programm erst das Admin Passwort
geben, dass es auch alle Dateien kopieren kann.
Dazu klickt man auf das kleine Schloß.

Danach muss man das Passwort eingeben

Nun ist alles soweit und man kann auf "klonen" klicken.

Das dauert nun eine ganze Weile, danach hat mein ein bootbares OSX auf seiner
Firewire HDD.
CODE:
Clone operation completed at: Sonntag, 7. Januar 2007 19:22:50 Uhr
Elapsed time: 75,583333333333 minutes
Elapsed time: 75,583333333333 minutes
Tipp: Um von der Firewire HDD booten zu können, muss man während dem Startvorgang
die Taste "alt" drücken.
Backups unter OSX mit rsync
Vor kurzem habe ich bei einem Kunden eine kleine Backup Lösung eingerichtet.
Diese sichert die geänderten Dateien auf eine externe Festplatte. Dies habe ich
mit xcopy realisiert.
Ich habe schon öfter nach einer Backup Lösung für OSX gesucht, und außer
einem komplett Image noch kaum was richtig brauchbares gefunden.
Es gibt aber keinen größeren Alptraum als einen Datenverlust, daher habe ich
nach einer Lösung für mein MacBook Pro gesucht, mit dem ich täglich kurz die
geänderten Dateien kopieren kann.
Dabei bin ich auf rsync gestoßen. Die Umsetzung ist denkbar einfach.
Und das machen die Parameter:
Allerdings zeigt er beim Aufruf immer alle Dateien an, egal ob er Sie kopiert oder nicht.
Das finde ich etwas doof, da man dann nicht sieht welche Dateien sich explizit verändert haben.
Ich verwende folgendes Skript um meine Daten zu sichern, damit wird mein Web Directory gesichert,
und das ganze Home verzeichnis. Ratsam sind dabei auch die Excludes, wie z.B. das dass keine
Subversion Verzeichnisse (.svn) kopiert werden. Die muss ich nicht im Backup haben.
Update:
Das tolle ist, nach dem ersten mal kopieren geht das razz fazz. Der Backupvorgang geht nach ersten Messungen weniger als 2 Minuten.
Nun gibt es wirklich tägliche Backups.
Update #2
Nun mein volles Backup Inklusive MySQL und SVN Dumps, wie in den anderen Blog einträgen von heute beschrieben.
Update #3
Man sollte evtl auch Parallels Desktop excluden, da sonst große Datenmengen kopiert werden müssen wegen dem Windows Müll.
Das muss man aber selber entscheiden.
Update #4
-C lässt auch core Files weg, das ist etwas suboptimal, wenn man Projekte mit einem Core Verzeichnis hat.
Daher --include=core hinzufügen oder einfach ganz auf -C verzichten.
Ich habe bei meinem Backup nun auch .Trash verzichtet, da ich meinen Papierkorb nicht backupen will
In meiner aktuellen Version lasse ich auch die Dateien löschen, die auf der Quelle nicht mehr vorhanden sind.
Das hält das Backup wesentlich kleiner.
Das Script sieht dann jetzt so aus, die beiden rsync zeilen.
Diese sichert die geänderten Dateien auf eine externe Festplatte. Dies habe ich
mit xcopy realisiert.
Ich habe schon öfter nach einer Backup Lösung für OSX gesucht, und außer
einem komplett Image noch kaum was richtig brauchbares gefunden.
Es gibt aber keinen größeren Alptraum als einen Datenverlust, daher habe ich
nach einer Lösung für mein MacBook Pro gesucht, mit dem ich täglich kurz die
geänderten Dateien kopieren kann.
Dabei bin ich auf rsync gestoßen. Die Umsetzung ist denkbar einfach.
CODE:
rsync --archive -u -v /Users/peterrehm/ /Volumes/SEA_DISK/backup_sync/peterrehm/
Und das machen die Parameter:
CODE:
-u kopiert ist für das kopieren der geänderten Dateien zuständig
-v Zeigt die ganzen Nachrichten an, ich will ja schließlich wissen was passiert
--archive ist ein synonym für die Parameter -rlptgoD
-r Kopiert alle Verzeichnisse rekursiv
-l symlinks werden als Symlinks kopiert
-p die rechte bleiben erhalten
-t Timestamp bleibt erhalten
-g Die Gruppenzuordnung bleibt erhalten
-o lässt verzeichnisse aus, wenn Timestamp erhalten bleibt
-D kopiert sockets,fifos,....
-v Zeigt die ganzen Nachrichten an, ich will ja schließlich wissen was passiert
--archive ist ein synonym für die Parameter -rlptgoD
-r Kopiert alle Verzeichnisse rekursiv
-l symlinks werden als Symlinks kopiert
-p die rechte bleiben erhalten
-t Timestamp bleibt erhalten
-g Die Gruppenzuordnung bleibt erhalten
-o lässt verzeichnisse aus, wenn Timestamp erhalten bleibt
-D kopiert sockets,fifos,....
Allerdings zeigt er beim Aufruf immer alle Dateien an, egal ob er Sie kopiert oder nicht.
Das finde ich etwas doof, da man dann nicht sieht welche Dateien sich explizit verändert haben.
Ich verwende folgendes Skript um meine Daten zu sichern, damit wird mein Web Directory gesichert,
und das ganze Home verzeichnis. Ratsam sind dabei auch die Excludes, wie z.B. das dass keine
Subversion Verzeichnisse (.svn) kopiert werden. Die muss ich nicht im Backup haben.
CODE:
#!/bin/bash
sudo rsync --archive -u -v -C --exclude="temp" --exclude="/Applications/" --exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/
sudo rsync --archive -u -v -C --exclude=.svn /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/
sudo rsync --archive -u -v -C --exclude="temp" --exclude="/Applications/" --exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/
sudo rsync --archive -u -v -C --exclude=.svn /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/
Update:
Das tolle ist, nach dem ersten mal kopieren geht das razz fazz. Der Backupvorgang geht nach ersten Messungen weniger als 2 Minuten.
Nun gibt es wirklich tägliche Backups.
Update #2
Nun mein volles Backup Inklusive MySQL und SVN Dumps, wie in den anderen Blog einträgen von heute beschrieben.
CODE:
#!/bin/bash
sudo rsync --archive -u -v -C --exclude="temp" --exclude="/Applications/" --exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/
sudo rsync --archive -u -v -C --exclude=.svn /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/
mysqldump -u root --all-databases > /Volumes/Backup/backup_sync/all_db_dump.sql
svnadmin dump /Users/peterrehm/Library/svn/cms/ >
/Volumes/Backup/backup_sync/svn_cms.dump
sudo rsync --archive -u -v -C --exclude="temp" --exclude="/Applications/" --exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/
sudo rsync --archive -u -v -C --exclude=.svn /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/
mysqldump -u root --all-databases > /Volumes/Backup/backup_sync/all_db_dump.sql
svnadmin dump /Users/peterrehm/Library/svn/cms/ >
/Volumes/Backup/backup_sync/svn_cms.dump
Update #3
Man sollte evtl auch Parallels Desktop excluden, da sonst große Datenmengen kopiert werden müssen wegen dem Windows Müll.
Das muss man aber selber entscheiden.
Update #4
-C lässt auch core Files weg, das ist etwas suboptimal, wenn man Projekte mit einem Core Verzeichnis hat.
Daher --include=core hinzufügen oder einfach ganz auf -C verzichten.
Ich habe bei meinem Backup nun auch .Trash verzichtet, da ich meinen Papierkorb nicht backupen will
In meiner aktuellen Version lasse ich auch die Dateien löschen, die auf der Quelle nicht mehr vorhanden sind.
Das hält das Backup wesentlich kleiner.
Das Script sieht dann jetzt so aus, die beiden rsync zeilen.
CODE:
sudo rsync --archive --delete -u -v --exclude="temp" --exclude=".Trash" --exclude="/Applications/"
--exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/
sudo rsync --archive --delete -u -v /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/
--exclude="tmp" /Users/peterrehm/ /Volumes/Backup/backup_sync/peterrehm/
sudo rsync --archive --delete -u -v /Library/WebServer/Documents/ /Volumes/Backup/backup_sync/www/
VIM Kommandos in COCOA Anwendungen
Nach langem testen funktioniert es nun endlich...
Ich kann VIM Commandos in COCOA Anwendungen verwenden. Dies ist möglich durch den VI Input Manager.
Man muss die Files an die entsprechenden Stellen kopieren. Nach dem kopieren sollte man folgendes kopiert haben:
und
danach ein neustart und man kann loslegen.
Man sollte aber noch überlegen ob man nicht die Taste um das Commandofenster ummapped.
Dies macht man in der DefaultKeyBinding.dict. Ich habe momentan die ESC Taste eingestellt,
das ist aber irgendwie suboptimal. Mal noch etwas testen, ob das wirklich nervt.
Ich kann VIM Commandos in COCOA Anwendungen verwenden. Dies ist möglich durch den VI Input Manager.
Man muss die Files an die entsprechenden Stellen kopieren. Nach dem kopieren sollte man folgendes kopiert haben:
CODE:
goofy$ ls Library/KeyBindings ~
-rw-r--r-- 1 peterreh peterreh 576 Dec 7 23:20 DefaultKeyBinding.dict
-rw-r--r-- 1 peterreh peterreh 576 Dec 7 23:20 DefaultKeyBinding.dict
und
CODE:
goofy$ ls Library/InputManagers/ViInputManager ~
-rw-r--r-- 1 peterreh peterreh 429 Oct 31 16:46 Info
drwxr-xr-x 3 peterreh peterreh 102 Oct 31 16:45 ViInputManager.bundle
-rw-r--r-- 1 peterreh peterreh 429 Oct 31 16:46 Info
drwxr-xr-x 3 peterreh peterreh 102 Oct 31 16:45 ViInputManager.bundle
danach ein neustart und man kann loslegen.
Man sollte aber noch überlegen ob man nicht die Taste um das Commandofenster ummapped.
Dies macht man in der DefaultKeyBinding.dict. Ich habe momentan die ESC Taste eingestellt,
das ist aber irgendwie suboptimal. Mal noch etwas testen, ob das wirklich nervt.
Nach Neuinstallation Mails von Spotlight neu indizieren lassen
Seit der Neuinstallation hat die Spotlight Suche seinen Dienst verweigert, bzw. hat nur noch die neuen Mails durchsucht.
Dies ist sehr nervig und dem kann man helfen indem man die Mails neu indizieren lässt.
Dies dauert dann etwas, und danach sollte alles wie gehabt funktionieren!
Dies ist sehr nervig und dem kann man helfen indem man die Mails neu indizieren lässt.
CODE:
sudo mdimport -r /System/Library/Spotlight/Mail.mdimporter
Dies dauert dann etwas, und danach sollte alles wie gehabt funktionieren!
Tastaturbeleuchtung MacBook Pro
Die Tastaturbeleuchtung am MacBook Pro ist sehr hübsch. Allerdings funktioniert Sie leider nur durch den Lichtsensor.
Dies kann sehr nervig sein, wenn diese dann flackert, wenn man im Auto oder im Zug unterwegs ist.
Aber dem kann geholfen werden, mein Tool das Tages: LabTick
Dies kann sehr nervig sein, wenn diese dann flackert, wenn man im Auto oder im Zug unterwegs ist.
Aber dem kann geholfen werden, mein Tool das Tages: LabTick
Keyboard Layout unter Parallels Desktop anpassen
Parallels Desktop gefällt mir echt gut. Es startet in unglaublich schneller
Zeit und es lässt sich extrem performant damit arbeiten.
Allerdings das große Manko: Keyboardlayout
Ich habe lange gesucht, und nichts vernünftiges gefunden, nur
einen Hinweis aus einem Appletalk Thread, dass man das Keyboardlayout selber
anpassen kann.
Dies habe ich dann mit dem Keyboard Layout Generator erledigt.
Es war etwas umständlich aber nach der Installation der Developer Tools habe ich das
wie erwünscht erstellen können. Man kann allerdings in dem Tool die Alt Taste nicht
ummappen, das muss über einen Registry EIntrag erledigt werden, den ich zum Glück
auch in einem Forum gefunden habe.
Wer sich näher mit dem Thema beschäftigen möchte findet hier weitere
Informationen.
Für alle anderen gibt es hier ein Package von mir zum Download,
mit dem Package für die Sprachinstallation und der Registry Datei.
Sollte der Registry Eintrag negative Nebenwirkungen mit sich bringen, kann
man den Schlüssel immer wieder löschen.
Man muss dann nur statt der [alt] Taste [alt] + [ctrl] drücken.
Nachdem man das Package installiert hat muss man das Keyboardlayout noch auswählen.
Dazu geht man wie folgt vor:
Hinzufügen kann man die Sprache, indem man auf Hinzufügen klickt, und dann bei
Tastaturlayout/IME die Sprache "Deutsch (Mac)" auswählt.
Danach kann man die alte Sprache entfernen. Dies wird dann nach einem
Neustart wirksam.
Das Package gibts hier -> download
Viel Spaß Damit!
Zeit und es lässt sich extrem performant damit arbeiten.
Allerdings das große Manko: Keyboardlayout
Ich habe lange gesucht, und nichts vernünftiges gefunden, nur
einen Hinweis aus einem Appletalk Thread, dass man das Keyboardlayout selber
anpassen kann.
Dies habe ich dann mit dem Keyboard Layout Generator erledigt.
Es war etwas umständlich aber nach der Installation der Developer Tools habe ich das
wie erwünscht erstellen können. Man kann allerdings in dem Tool die Alt Taste nicht
ummappen, das muss über einen Registry EIntrag erledigt werden, den ich zum Glück
auch in einem Forum gefunden habe.
CODE:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,38,e0,38,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,38,e0,38,00,00,00,00,00
Wer sich näher mit dem Thema beschäftigen möchte findet hier weitere
Informationen.
Für alle anderen gibt es hier ein Package von mir zum Download,
mit dem Package für die Sprachinstallation und der Registry Datei.
Sollte der Registry Eintrag negative Nebenwirkungen mit sich bringen, kann
man den Schlüssel immer wieder löschen.
Man muss dann nur statt der [alt] Taste [alt] + [ctrl] drücken.
Nachdem man das Package installiert hat muss man das Keyboardlayout noch auswählen.
Dazu geht man wie folgt vor:
CODE:
Systemsteuereung -> Regions- und Sprachoptionen -> Sprachen -> Details -> Deutsch(Mac) hinzufügen
Hinzufügen kann man die Sprache, indem man auf Hinzufügen klickt, und dann bei
Tastaturlayout/IME die Sprache "Deutsch (Mac)" auswählt.
Danach kann man die alte Sprache entfernen. Dies wird dann nach einem
Neustart wirksam.
Das Package gibts hier -> download
Viel Spaß Damit!
OSX - Iso brennen ohnen GUI
Immer wieder muss man ISO Images brennen, und es ist dann mühsam wenn man kein GUI Tool wie Toast am laufen hat.
Allerdings ist bei OSX ein Konsoletool onboard, das einem das Problem schnell und einfach abnimmt.
Images kann man übrigens mit dem Disk Utility erstellen.
Allerdings ist bei OSX ein Konsoletool onboard, das einem das Problem schnell und einfach abnimmt.
CODE:
hdiutil burn D-WinXP_Pro_With_Sp2.iso
Images kann man übrigens mit dem Disk Utility erstellen.
SSH Tunnel & Bug in Apple Mail
Da ich an der FH über WLAN einen SSH Tunner verwende kam es heute zu folgendem Problem.
:
Ich konnte keine Mails mehr versenden, ich bekam immer folgenden Fehler:
Nun habe ich den Fehler gefunden. Wenn ich den Tunnel auf localhost laufen lasse,
gibt Mail die IPV6 Adresse weiter. Lasse ich den Tunnel auf 127.0.0.1 laufen, funktioniert
es wunderbar.
So, jetzt weiter mit Grundlagen der Informatik
:
Ich konnte keine Mails mehr versenden, ich bekam immer folgenden Fehler:
CODE:
<[????????0???!??$IPv6:::1]> Helo command rejected: invalid ip address
Nun habe ich den Fehler gefunden. Wenn ich den Tunnel auf localhost laufen lasse,
gibt Mail die IPV6 Adresse weiter. Lasse ich den Tunnel auf 127.0.0.1 laufen, funktioniert
es wunderbar.
So, jetzt weiter mit Grundlagen der Informatik
PHP4 & PHP5 auf einem MacBook Pro
So mal wieder bin ich mit dem ganzen Installationszirkus beschäftigt.
Nun will ich wieder beide PHP Versionen Parallel zueinander laufen lassen.
PHP4 muss man sich Compilen, oder man kann auf die mit OSX ausgelieferte
Version zurückgreifen. Dies werde ich in diesem Fall tun.
In der http.conf muss nur PHP4 aktiviert werden. Nachdem dies getan ist,
kopieren wir die Konfigurationsdatei.
Nun installieren wir gleich PHP5. Die Packages dazu findet
Ihr bei
In der Regel ist Apache 1.3 vorinstalliert.
Nachdem PHP5 installiert ist kopieren wir die Config erneut
Nun kommt das Script das für den Wechsel zuständig ist:
Das Skript habe ich hier auch schonmal geposted, aber in diesem Zuge nochmals...
Einfach das Skript speichern, und dann wie folgt ausführen:
Dann wird die PHP4 Config kopiert und der Apache neugestartet.
Das Gleiche geht auch in die andere Richtung.
Nun will ich wieder beide PHP Versionen Parallel zueinander laufen lassen.
PHP4 muss man sich Compilen, oder man kann auf die mit OSX ausgelieferte
Version zurückgreifen. Dies werde ich in diesem Fall tun.
In der http.conf muss nur PHP4 aktiviert werden. Nachdem dies getan ist,
kopieren wir die Konfigurationsdatei.
CODE:
sudo cp /etc/httpd/httpd.conf /etc/httpd/httpd.php4.conf
Nun installieren wir gleich PHP5. Die Packages dazu findet
Ihr bei
CODE:
http://www.entropy.ch/software/macosx/php/
In der Regel ist Apache 1.3 vorinstalliert.
Nachdem PHP5 installiert ist kopieren wir die Config erneut
CODE:
sudo cp /etc/httpd/httpd.conf /etc/httpd/httpd.php5.conf
Nun kommt das Script das für den Wechsel zuständig ist:
CODE:
#!/bin/bash
if [[ "$1" == 5 || "$1" == 4 ]]; then
VERSION=$1;
else
echo -n "Please choose between PHP4 and PHP5 (4/5)";
echo -e "";
fi
if [ "$VERSION" == 4 ]; then
sudo cp /etc/httpd/httpd.php4.conf /etc/httpd/httpd.conf;
echo "config updated to php4 - restarting Apache graceful..";
sudo apachectl graceful;
elif [ "$VERSION" == 5 ]; then
sudo cp /etc/httpd/httpd.php5.conf /etc/httpd/httpd.conf;
echo "config updated to php5 - restarting Apache graceful..";
sudo apachectl graceful;
fi
if [[ "$1" == 5 || "$1" == 4 ]]; then
VERSION=$1;
else
echo -n "Please choose between PHP4 and PHP5 (4/5)";
echo -e "";
fi
if [ "$VERSION" == 4 ]; then
sudo cp /etc/httpd/httpd.php4.conf /etc/httpd/httpd.conf;
echo "config updated to php4 - restarting Apache graceful..";
sudo apachectl graceful;
elif [ "$VERSION" == 5 ]; then
sudo cp /etc/httpd/httpd.php5.conf /etc/httpd/httpd.conf;
echo "config updated to php5 - restarting Apache graceful..";
sudo apachectl graceful;
fi
Das Skript habe ich hier auch schonmal geposted, aber in diesem Zuge nochmals...
Einfach das Skript speichern, und dann wie folgt ausführen:
CODE:
./changephp 4
Dann wird die PHP4 Config kopiert und der Apache neugestartet.
Das Gleiche geht auch in die andere Richtung.

