{"id":459,"date":"2008-12-12T15:04:40","date_gmt":"2008-12-12T13:04:40","guid":{"rendered":"http:\/\/www.bergeret.org\/blog\/?p=459"},"modified":"2008-12-12T15:06:00","modified_gmt":"2008-12-12T13:06:00","slug":"script-de-mise-a-jour-de-wordpress","status":"publish","type":"post","link":"https:\/\/www.bergeret.org\/blog\/2008\/12\/12\/script-de-mise-a-jour-de-wordpress\/","title":{"rendered":"Script de mise \u00e0 jour de WordPress"},"content":{"rendered":"<p>Aujoud&rsquo;hui, pour f\u00eater la version 2.7 de WordPress, je me suis fait un petit script de mise \u00e0 jour de WordPress.<!--more-->En effet, la proc\u00e9dure standard de mise \u00e0 jour de WordPress ne me pla\u00eet pas : elle n\u00e9cessite de mettre la site hors-ligne pendant trop longtemps, et il est difficile de revenir en arri\u00e8re si l&rsquo;on a fait une b\u00e9tise.<\/p>\n<p>De mon c\u00f4t\u00e9, pour faciliter la mise \u00e0 jour, je n&rsquo;installe pas WordPress directement \u00e0 la racine, mais sous le r\u00e9pertoire <em>blog<\/em>. Je t\u00e9l\u00e9charge ensuite la nouvelle version de WordPress dans un autre r\u00e9pertoire, pas exemple <em>wordpress<\/em>. Je copie les informations n\u00e9cessaires (wp-config.php, documents attach\u00e9s, plugins, th\u00e8me) dans le nouveau r\u00e9pertoire.<\/p>\n<p>Au moment fatidique de la bascule, je n&rsquo;ai qu&rsquo;\u00e0 renommer le <em>blog <\/em>en <em>blog.old<\/em>, <em>wordpress<\/em> en <em>blog<\/em>, lancer le script de mise \u00e0 jours de la base de donn\u00e9es (wp-admin\/upgrade.php) et hop, 10s d&rsquo;indisponibilit\u00e9 \u00e0 tout casser.<\/p>\n<p>Je teste la nouvelle version, et si elle me convient, je d\u00e9truis blog.old. Si ca ne fonctionne pas, je renomme blog en wordpress, blog.old en blog et, si les diff\u00e9rences de base de donn\u00e9es ne sont pas trop \u00e9normes, ca remarche.<\/p>\n<p>Voici si script Unix qui me t\u00e9l\u00e9charge une version de WordPress, la d\u00e9zippe, me fait les backup des fichiers \u00ab\u00a0qui vont bien\u00a0\u00bb avant de t\u00e9l\u00e9charger le tout sur le serveur et de faire la bascule entre les deux version. L&rsquo;appel du script de migration de la base de donn\u00e9es reste manuel. Certains chemins doivent bien sur \u00eatre adapt\u00e9s (suivant o\u00f9 vous mettez les fichiers attach\u00e9s). Enjoy (le script prend en param\u00e8tre l&rsquo;URL du zip d&rsquo;installation de WordPress):<br \/>\n<code><br \/>\n#!\/bin\/sh<br \/>\nuser=monuser<br \/>\nexport $user<br \/>\npassword=monpass<br \/>\nexport $password<br \/>\necho \"Cleaning directories\"<br \/>\nrm -fr \/tmp\/wordpress<br \/>\nrm -fr \/tmp\/backup<br \/>\necho \"Downloading WordPress\"<br \/>\nwget -nv -O \/tmp\/wordpress.zip $1<br \/>\necho \"Extracting WordPress\"<br \/>\nunzip -d \/tmp -o -q \/tmp\/wordpress.zip<br \/>\necho \"Downloading configuration\"<br \/>\nmkdir \/tmp\/backup<br \/>\nmkdir \/tmp\/backup\/wordpress<br \/>\nwget -nv -O \/tmp\/backup\/wordpress\/wp-config.php ftp:\/\/$user:$password@ftp.bergeret.org\/www\/blog\/wp-config.php<br \/>\necho \"Downloading attachents\"<br \/>\nlftp ftp:\/\/$user:$password@ftp.bergeret.org -e \"mirror -r \/www\/blog\/wp-content -X *.php \/tmp\/backup\/wordpress\/wp-content ; quit\"<br \/>\necho \"Downloading plugins\"<br \/>\nlftp ftp:\/\/$user:$password@ftp.bergeret.org -e \"mirror \/www\/blog\/wp-content\/plugins -X hello.php -x akismet \/tmp\/backup\/wordpress\/wp-content\/plugins ; quit\"<br \/>\necho \"Downloading theme\"<br \/>\nlftp ftp:\/\/$user:$password@ftp.bergeret.org -e \"mirror \/www\/blog\/wp-content\/themes\/red-train-2.x \/tmp\/backup\/wordpress\/wp-content\/themes\/red-train-2.x ; quit\"<br \/>\necho \"Merging\"<br \/>\ncp -r \/tmp\/backup\/wordpress \/tmp<br \/>\necho \"Uploading WordPress\"<br \/>\nlftp ftp:\/\/$user:$password@ftp.bergeret.org -e \"mirror -e -R \/tmp\/wordpress \/www\/wordpress ; quit\"<br \/>\necho \"Cleaning directories\"<br \/>\nrm -fr \/tmp\/wordpress<br \/>\nrm -fr \/tmp\/backup<br \/>\necho \"Switching\"<br \/>\nlftp ftp:\/\/$user:$password@ftp.bergeret.org -e \"mv \/www\/blog \/www\/blog.old ; mv \/www\/wordpress \/www\/blog ; quit\"<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aujoud&rsquo;hui, pour f\u00eater la version 2.7 de WordPress, je me suis fait un petit script de mise \u00e0 jour de WordPress.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/posts\/459"}],"collection":[{"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/comments?post=459"}],"version-history":[{"count":2,"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/posts\/459\/revisions"}],"predecessor-version":[{"id":461,"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/posts\/459\/revisions\/461"}],"wp:attachment":[{"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/media?parent=459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/categories?post=459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bergeret.org\/blog\/wp-json\/wp\/v2\/tags?post=459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}