Über den Author / Internet / WordPress Blog kopieren zu Testzwecken

WordPress Blog kopieren zu Testzwecken

~2 Min. Lesezeit

Ich wollte endlich ein Blog zu Testzwecken haben. Ob ich die neuen WordPress Versionen teste, oder einfach die Plugins, alles sollte möglichst nah an meinem Orginal Blog kommen.

Dazu machte ich mir ein Shellskript, womit ich meinen Blog einfach und schnell von der Domain www.murawski.ch auf testwww.murawski.ch kopieren kann.
Das Script lässt sich abermals starten und so kann ich per Klick den Testblog aktualisieren.

Selbstverständlich muss die Konfiguration von meinem Script angepasst werden.
Das Skript kann am Ende heruntergeladen werden.

Zuerst kommt die Konfiguration:

#!/bin/bash

# Quell Installation
QUELL_DOMAIN=blog\.murawski\.ch
QUELL_DIR=/var/www/web0/html/murawski.ch/blog
QUELL_DBNAME=db9999
QUELL_DBUSER=fuser1
QUELL_DBPASS=MeinPW1

# Ziel Installation
ZIEL_DOMAIN=testblog\.murawski\.ch
ZIEL_DIR=/var/www/web0/html/murawski.ch/blog-test
ZIEL_DBNAME=db6666
ZIEL_DBUSER=fuser2
ZIEL_DBPASS=MeinPW2

# Welche Version
VERSION=1
# 0 = Nur 1:1 Kopie erstellen
# 1 = Beta Plugin installieren. Muss noch aktiviert werden.
# 2 = WordPress 3 Beta 1 installieren

Zu beachten ist lediglich, das bei der Domain die Punkte mit einem BackSlash encapslet sein müssen.

Bei dem nachfolgenden Teil muss nichts mehr angepasst werden:

######################################################
# Files kopieren
if [ „${ZIEL_DIR}/*“ != „/*“ ] then
rm -R ${ZIEL_DIR}/*
fi
cp -R ${QUELL_DIR}/* ${ZIEL_DIR}/
mkdir /tmp/cpblog
mv ${ZIEL_DIR}/wp-config.php /tmp/cpblog/
######################################################

######################################################
# DB auslesen
/usr/bin/mysqldump −−user=${QUELL_DBUSER} −−password=${QUELL_DBPASS} −−host=localhost ${QUELL_DBNAME} > /tmp/cpblog/smu_blog.sql
######################################################

######################################################
# Domainlinks und DB anpassen
sed 's/'${QUELL_DOMAIN}'/'${ZIEL_DOMAIN}'/g' /tmp/cpblog/smu_blog.sql > /tmp/cpblog/smu_blog2.sql
sed 's/'${QUELL_DBNAME}'/'${ZIEL_DBNAME}'/g' /tmp/cpblog/smu_blog2.sql > /tmp/cpblog/smu_blog3.sql

sed 's/'${QUELL_DBNAME}'/'${ZIEL_DBNAME}'/g' /tmp/cpblog/wp-config.php > /tmp/cpblog/wp-config1.php
sed 's/'${QUELL_DBUSER}'/'${ZIEL_DBUSER}'/g' /tmp/cpblog/wp-config1.php > /tmp/cpblog/wp-config2.php
sed '/'${QUELL_DBPASS}'/'${ZIEL_DBPASS}'/g' /tmp/cpblog/wp-config2.php > /tmp/cpblog/wp-config3.php
######################################################

######################################################
# DB einspielen
/usr/bin/mysql −−user=${ZIEL_DBUSER} −−password=${ZIEL_DBPASS} −−host=localhost ${ZIEL_DBNAME} < /tmp/cpblog/smu_blog3.sql
######################################################

######################################################
# Config einspielen
mv /tmp/cpblog/wp-config3.php ${ZIEL_DIR}/wp-config.php
######################################################

if [ ${VERSION} == 1 ] then
######################################################
# Update Addon einspielen
cd /tmp/cpblog
wget http://downloads.wordpress.org/plugin/wordpress-beta-tester.0.81.zip
unzip wordpress-beta-tester.0.81.zip
cp -R /tmp/cpblog/wordpress-beta-tester ${ZIEL_DIR}/wp-content/plugins/
######################################################
fi
if [ ${VERSION} == 2 ] then
######################################################
# Beta 3 einspielen
cd /tmp/cpblog
wget http://wordpress.org/wordpress-3.0-beta1.zip
unzip wordpress-3.0-beta1.zip
cp -R /tmp/cpblog/wordpress# /* ${ZIEL_DIR}/
######################################################
fi

######################################################
# Files löschen
rm -R /tmp/cpblog
######################################################

Das Script kopiert die aktuellen PHP Files in das neue HTML Verzeichnis und schreibt die Konfigurationsdatei vom WordPress Blog um, auf die Test DB.
Je nach Selektion wird gleich eine neue Beta Version eingespielt.

Somit hat man ein Ort zum Basteln und testen, bevor man das produktiv System abschiesst.
Download des Skriptes: CopyBlog Script

Viel Spass damit.

About Stefan

avatar
Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf.Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

Meine WordPress .htaccess Datei

~0 Min. LesezeitDie .htaccess Datei beinhaltet viele Serveranweisungen, welche ich gerne hier mit Euch Share …

PHP Trojaner – Wettbewerb

~2 Min. LesezeitIn der Serie der PHP Trojaner gibt es noch viele weitere Möglichkeiten zum …

11 Kommentare

  1. avatar
    Artikelverzeichnis

    Ich habe ein Artikelverzeichnis basierend auf WordPress und habe genau danach gesucht. Ich wollte mich schon in die Shell-Programmierung reinarbeiten, aber dass kann ich Danke deines Scriptes nun aufschieben, danke!

  2. avatar

    Hallo Stefan,

    ich benötige von einem bereits existierenden WordPress Blog eine Kopie (1:1 auf dem Server).

    „www.domain.de/blog“ kopieren zu „www.domain.de/blog_kopie“

    Nun habe ich dieses hilfreiche Script gefunden.

    Wo genau wende ich das Script an? Muss ich es auf den Server laden dort aufrufen?

    Über eine kurze Antwort freue ich mich sehr!

    Freundliche Grüße

    Alex

  3. avatar

    Hoi Alex

    Das ist ein Shell Skript. Dies muss auf der Console eines Root Servers aufgerufen werden. Nur per Webpage (FTP) geht dies nicht! Hast du keine Console / Shell musst du dies manuell machen.

    Dies ist zwar auch möglich, aber nicht per 1 Klick Lösung. Wenn man weiss wie es geht, dann ist es eine Sache von vielleicht 10 Minuten, wenn nicht, dann ist es arbeitsintensiver. Wenn du dabei Hilfe benötigst, helfe ich dir gerne.

  4. avatar

    Hallo.
    Genau was ich brauche!
    Aber auch ich weiss leider nicht wie das Skript ausführen bzw. starten kann.
    Kannst Du mir bitte eine Anleitung oder genauere Beschreibung schicken?
    Besten Dank und shöne sunntig.
    Geru

  5. avatar

    Hoi Geru

    Dieses Script läuft nur wenn du Shell Zugriff hast. Ich bin an einer reinen PHP Version dran, wo man nur in den Blog als Plugin eingbinden kann und eine Kopie per Knopfdruck macht, aber leider fehlt mir die Zeit momentan.

    Hast du Shell Zugriff, dann öffne die DAtei, steht auf den ersten 3 Zeilen wie man es aufrufen muss.

  6. avatar

    Hey,

    wenn du kein kompletten Blog spiegelst, läuft das dann bei Google nicht unter Duplicate Content? Oder wie schützt du dich diesbezüglich?

  7. avatar

    Zum einen deaktiviere ich alle SEO Plugins, damit z.B. auch die Sitemap nicht an Google gesendet wird. Zum 2ten Schütze ich den Testblog automatisiert mit einem .htaccess damit auch versehentlich vorbeischauende Augen nichts finden.

    So kann Google etc nichts finden und hat dann auch kein Double Content.

    Hab das alles automatisiert in meinem Script.

  8. avatar

    Huhu,

    ah okay. Das macht natürlich Sinn. 🙂

    Leider hab ich einen Hoster und daher keinen Zugriff auf die Console. Wollte manuell einfach kopieren und den Stand festfrieren – brauche nicht die tagaktuellen Artikel und Plugins. Reicht das mit .htaccess aus um Google auszusperren? Dann mach ich das einfach mal manuell nach Möglichkeit und Fähigkeit. 🙂

  9. avatar

    Betreffend DC:
    1. Warum sollte Google den Testblog aufnehmen – hast ja null Links drauf gesetzt.
    2. Selbst wenn, dann ist er halt DC und wird von Google wieder rausgekickt oder nach hinten geschoben, das wäre auch egal -> tangiert ja dein „Haupt“-Blog nicht.

  10. avatar

    Sehr gutes Skript, danke für den Tipp! Hab es mir schon runtergeladen und bin total begeistert! Gruß, Cloe

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg