* Automatická aktualizace WordPressu
7. August 2011, Jakub Horák. Zařazeno mezi Scripts.
Podle statistik rozšíření CMS na internetu z ledna tohoto roku využívá 15% všech webů WordPress. Kdyby tedy hacker objevil ve WordPressu bezpečnostní díru, mohl by teoreticky ovládnout až 15% Internetu. Spoustu lidí se o to již pokusilo a jistě nadále pokouší a komunita vývojářů chyby rychle odstraňuje. Nové verze vychází zhruba jednou za měsíc. Oprava vám ale nepomůže, pokud jí nemáte nainstalovanou :). Je tedy nutné neustále aktualizovat.
WordPress se dá aktualizovat z administrace, proces ale potřebuje na stažení a rozbalení balíčku místo na disku, kterého se mi na freehostingu nedostává. Člověk se také musí přihlásit a zmáčknout tlačítko. Naštěstí to lze udělat i jinak. Stačí malý skript.
Můj skript stáhne poslední stabilní verze českého WordPressu a vašich pluginů, uloží je do lokálního repozitáře GITu a následně nahraje na FTP pouze ty soubory, které se změnily. K nahrání změněných souborů jsem využil skvělý skript git-ftp.py.
Aby git-ftp.py
fungoval, vytvořte ve složce WordPressu soubor .git/ftpdata
s následujícím obsahem a doplňte vaše údaje k FTP:
[master] username=me password=s00perP4zzw0rd hostname=ftp.hostname.com remotepath=/htdocs |
Připravte si adresář, do kterého se rozbalí WordPress. Já mám WORKDIR
nastavenou na /home/kuba/weby/oss/
, takže WordPress se rozbalí do /home/kuba/weby/oss/wordpress
. Do proměnné PLUGINY
uveďte názvy pluginů získané z adres URL jejich webů. Zde je celý skript (stáhnout):
#!/bin/bash # # Automaticka aktualizace Wordpressu pres FTP # WORKDIR="/home/kuba/weby/oss/" TMPDIR="/tmp/wordpress-update/" PLUGINY="w3-total-cache wp-syntax simplemodal-contact-form-smcf lightbox-plus openid" function echoi { echo -e "\e[1;36m""$1""\e[0m" } function stahnoutplugin { PLUGINSVN=http://plugins.svn.wordpress.org/ PLUGINDIR="$TMPDIR"/"$1" stabilni_verze=`svn ls "$PLUGINSVN"/"$1"/tags | tr -d / | sort -V | tail -n 1` echoi "Stahuji $1-$stabilni_verze" mkdir -p "$PLUGINDIR" cd "$PLUGINDIR" svn co "$PLUGINSVN"/"$1"/tags/"$stabilni_verze" rm -rf `find -type d -name .svn` mv "$stabilni_verze" "$1" mv "$1" "$WORKDIR"/wordpress/wp-content/plugins } cd "$WORKDIR" rm latest-cs_CZ.tar.gz echoi "Stahuji aktualni wordpress" wget http://cs.wordpress.org/latest-cs_CZ.tar.gz rm -rf wordpress/* tar xvf latest-cs_CZ.tar.gz for plugin in $PLUGINY; do stahnoutplugin "$plugin" done cd "$WORKDIR"/wordpress echoi "Mazu zbytecnosti" rm -rf wp-content/themes/twenty* rm wp-content/plugins/*/screenshot-* find -name \*.txt -exec rm '{}' \; find -name \*.dev.\* -exec rm '{}' \; rm -rf "$TMPDIR" echoi "Commituji zmeny" git add . git commit -a echoi "Nahravam na vzdaleny server" git-ftp.py |
O upozornění na nové verze WordPressu se stará moje RSS čtečka se speciálním kanálem. Časem by se to celé ale klidně dalo spojit s Cronem a nemusel bych se starat vůbec o nic.
Zanechat vzkaz
Archives
- March 2024
- October 2023
- May 2020
- December 2018
- October 2018
- July 2017
- April 2017
- March 2017
- November 2016
- April 2016
- March 2016
- November 2014
- September 2014
- May 2014
- March 2014
- February 2014
- August 2013
- June 2013
- April 2012
- August 2011
- May 2011
- October 2010
- September 2010
- August 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- April 2009
- January 2009
- December 2008
- October 2008
- September 2008