/dev/nikc/blog

Kuolleiden purjehduskenkien seura

Sep 4th 2006

WordPressin tietokannan varmuuskopioinnista

16:48

Pni on paininut WordPressin tietokannan varmuuskopioinnin automatisoinnin kanssa. Itse en ole asian kanssa paininut, sillä olen tuudittautunut ajatukseen että palveluntarjoajani hoitaa asian puolestani. Tarjosin kuitenkin Pni:lle vaihtoehtoista toteutusta ja hiljainen päivä yhdistettynä sisäisen nörttini kanssa teki homman teoriasta käytäntöön.

Valmista koodia, silvuplee. Vaatii toimiakseen ohjelmat mysqldump, mutt ja gzip.

#!/bin/bash

mysqldump="/usr/bin/mysqldump"
mutt="/usr/bin/mutt"
gzip="/bin/gzip"

tmpdir="<tmpdir>"
datesuffix=`date +%Y-%m-%d`
fileprefix="db-bak"
mailrecipient="user@host.tld"
mailsubject="Wp Db Bak ($datesuffix)"
# use one of the below
# mailbody=`cat <path to textfile>`
mailbody="<text>"

dbname="<database name>"
dbuser="<database username>"
dbpass="<database password>"
dbhost="<database host>"
tableprefix="<wp-table-prefix>"
tables="wp_categories wp_comments wp_linkcategories wp_links wp_options wp_post2cat wp_postmeta wp_posts wp_usermeta wp_users"

#Taman alemmas ei pitaisi olla tarvetta muokata

tablesfinal=""
for tbl in $tables; do
        tablesfinal="$tableprefix$tbl $tablesfinal"
done;

$mysqldump -h $dbhost -u $dbuser --password=$dbpass $dbname --tables $tablesfinal > $tmpdir/$fileprefix-$datesuffix.sql
$gzip $tmpdir/$fileprefix-$datesuffix.sql
echo "$mailbody" | $mutt -s "$mailsubject" -a $tmpdir/$fileprefix-$datesuffix.sql.gz $mailrecipient
rm -f $tmpdir/$fileprefix-$datesuffix.sql.gz

Olkaa hyvät, te ketä kaipaatte. Muistakaa ottaa ne skriptin lukuoikeudet pois muilta kuin itseltänne (chmod 700), kun sitä tietokannan salasanaa ette varmaankaan halua jakaa.

Edit. Skandien kanssa näyttäisi olevan vähän ongelmia tällä metodilla, ilmeisesti (ainakaan minun) konsoli ei tykkää UTF8-merkistöstä. Jatkan tutkimista ja kehittelyä ja kerron heti kun ratkon ongelman.

Edit2. Ongelmat saattavat sittenkin olla jossain muualla. Näyttäisi nimittäin siltä että mulla se mikä näytti olevan konsolin ongelma, onkin ongelmana jo kannassa. Kokeilkaa joku muu ja kertokaa miten toimii.

Lataa skripti

4 Responses to “WordPressin tietokannan varmuuskopioinnista”

Minulla taas on ollut kiireinen päivä, joten en ole asialle ehtinyt mitään tekemään vielä, mutta pitääpä kokeilla.

Olen kyllä vastaavia skriptejä netistä löytänyt, kaikki vaatii tuon "mutt" -ohjelman. Mikä se on?

mutt on postiohjelma joka suostuu lähettämään liitetiedostoja komentoriviltä.

Okei. Kiitos. Oletko tämän nähnyt:

http://www.tamba2.org.uk/wordpress/cron/

Näyttäis olevan sama pyörä minkä minäkin keksin, pienillä eroilla. Tämä mun tekemä mm. osaa lisätä taulujen nimien eteen etuliitteen tarvittaessa. Sama lopputulos molemmilla kuitenkin; gzipattu sql-dumppi sähköpostilaatikossa.

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Meta

Pages

Search blog

Latest comments