Twitter RSS
| |

M-am lovit de curand de o problema destul de deranjanta si anume updatarea mai multor instalari WordPress. Updatarea unui WordPress nu e o treaba complicata si se poate face in patru pasi simpli:

  • se descarca ultima versiune;
  • se dezarhiveaza;
  • se uploadeaza/suprascriu fisierele de pe server;
  • se acceseaza fisierul de updatare a bazei de date – /wp-admin/upgrade.php.

Upgradarea nu este complicata, dar daca avem un numar mare de bloguri (ex. 50) uploadarea fiecarei instalari ar presupune uploadarea fisierelor de mai multe ori. Cu un mic script in Perl primii trei pasi pot fi facuti automat. Ultimul pas trebuie executat manual pentru fiecare instalare in parte, dar avand in vedere ca partea costisitoare este uploadarea fisierelor putem considera rularea urmatorului script ca fiind un avantaj mare:

#!/usr/bin/perl
 
use Archive::Tar;
use WWW::Mechanize;
use strict;
 
# Descarc ultima versiune
print "Descarc ultima versiune de WordPress...\n";
my $url  = 'http://wordpress.org/latest.tar.gz';
my $mech = WWW::Mechanize->new();
   $mech->get( $url );
   $mech->save_content('latest.tar.gz');
 
my @lista;
my $tar = Archive::Tar->new;
 
# Dezarhivez latest.tar.gz
print "Dezarhivez WordPress...\n";
$tar->read('latest.tar.gz');
$tar->extract();
 
# Preiau lista de instalari
print "Incarc lista pentru instalare...\n";
open(LISTA,"lista.txt");
push(@lista,$_) while( <lista> );
close(LISTA);
chomp( @lista );
 
# Suprascriu fisierele pentru fiecare instalare
print "Suprascriu fisierele:\n";
foreach( @lista ) {
    my $path =  $_;
       $path =~ /^\/home\/([^\/]+)\//;
    my $user = $1;
    print "... suprascriu $path\n";
    system("cp -r wordpress/* $path");
    system("find $path -user root -exec chown $user '{}' \\;");
}
 
# Sterg fisierele de care nu mai am nevoie
system("rm -rf wordpress");
system("rm latest.tar.gz");
</lista>

Scriptul de mai sus il salvam cu numele upgrade.pl si ii dam drept de executie (chmod 755 upgrade.pl).

Pentru ca scriptul sa functioneze trebuie sa cream un fisier lista.txt care va contine pe cate o linie calea catre fiecare instalare WordPress care trebuie updatata. Ex:

/home/site1/public_html/
/home/site2/public_html/blog/
/home/site3/public_html/stiri/

Dupa ce am creat fisierele upgrade.pl si lista.txt rulam ca root comanda ./upgrade.pl:

[root@hosting ~/wordpress]# ./upgrade.pl 
Descarc ultima versiune de WordPress...
Dezarhivez WordPress...
Incarc lista pentru instalare...
Suprascriu fisierele:
... suprascriu /home/site1/public_html/
... suprascriu /home/site2/public_html/blog/
... suprascriu /home/site3/public_html/stiri/

Mai departe trebuie doar sa accesam din browser fisierul /wp-admin/upgrade.php pentru fiecare instalare in parte.

Popularity: 2% [?]

Comentarii pentru “Upgrade semi-automat pentru instalari WordPress multiple”

Ai intrebari?

Reclama
Categorii
Apache
Articole si tutoriale legate de serverul web Apache.
/articole-tutoriale-apache/

cPanel
Articole si tutoriale legate de utilizarea si administrarea sistemului de gestiune a serverelor de hosting, cPanel.
/articole-tutoriale-cpanel-whm/

DNS
Vezi toate articolele din categoria DNS
/dns-bind-domain-name-services/

Linux
Articole si tutoriale legate de Linux, sisteme BSD sau alte sisteme de operare din familia UNIX.
/articole-tutoriale-linux/

Mail
Vezi toate articolele din categoria Mail
/mail/

MySQL
Articole si tutoriale despre serverul de baze de date MySQL.
/articole-tutoriale-optimizare-mysql/

Perl
Vezi toate articolele din categoria Perl
/perl-practical-extraction-and-report-language/

PHP
Vezi toate articolele din categoria PHP
/php-language-hypertext-preprocessor/

Virtualizare
Articole si tutoriale despre virtualizare si sistemel virtuale create cu Xen sau OpenVZ.
/virtualizare-xen-openvz/

Webmin / Virtualmin
Articole si tutoriale legate de sistemul de gestiune gratuit Webmin sau modulul Virtualmin.
/webmin-virtualmin/





Newsletter
LAMP Recomandã
NetHelp
SRV.ro
ABCDomenii