Faire la mise à jour de Dolibarr par un script

Photo de profil pour l’utilisateur Patrice Grundmann
Soumis par Patrice Grundmann le
Image-billet-blog
Création d’un script pour mettre à jour Dolibarr

Comment facilement faire la mise à jour de Dolibarr installé, en ligne, sur GNU/Linux ? Rien de plus simple. Voyons comment le faire avec un script qu’il suffira de lancer à chaque nouvelle version mineure ou majeure.

Comme prérequis, nous supposons que unzip est installé sur votre serveur et que Dolibarr est installé autrement que par un deb, donc manuellement. L’intérêt d’une installation manuelle, dans cet exemple, par rapport à une installation automatique prévue comme pour Infomaniak, est que vous allez pouvoir passer d’une version à l’autre parmi les installations mineures, au fur et à mesure des sorties. Donc sans suivre les « sautes d’humeur » de l’hébergeur qui voudrait que vous passiez à une version majeure, trop jeune. En l’espèce, nous préférons passer de la 12.0.4 à la 12.0.5 plutôt que faire le bond vers la 13.0, toute fraîche et certainement moins mûre. Ces deux versions sont sorties presque simultanément, mais donc, appartiennent à des branches différentes. Voyons comment nous procédons sur notre site administratif hébergé sur du mutualisé (et sur lequel nous sommes root, dans notre home, comme c’est le cas sur notre hébergeur suisse Infomaniak).

Dans le path de votre bash, assurez-vous que ~/bin y est bien présent, et créez, avec votre éditeur préféré un script du nom de majdolibarr.sh

Copier-coller le contenu de ces lignes de code dans votre fichier ouvert avec vim, par exemple :

#!/bin/bash
# origine du script : https://www.publicitem.pro/blog/faire-mise-jour-dolibarr-par-un-script
## VARIABLES à personnaliser
# chemin où est installé Dolibarr
chemin=${HOME}/dolibarr
# version à installer
version=12.0.5
# on télécharge sur Sourceforge l’archive en zip
cd /tmp
wget --content-disposition -c  "https://sourceforge.net/projects/dolibarr/files/Dolibarr ERP-CRM/"${version}/dolibarr-${version}.zip
# on dézippe (prérequis: unzip doit être installé sur le serveur)
unzip dolibarr-${version}.zip
# on efface le paquet téléchargé puisqu’on en a plus besoin
rm dolibarr-${version}.zip
# on copie récursivement les fichiers dans le répertoire de Dolibarr installé
cp -r dolibarr-${version}/htdocs/* ${chemin}
# on fait le backup du fichier verrou (qui doit exister normalement)
mv ${chemin}/documents/install.lock ${chemin}/documents/install.lock.BAK
read -p "Avant d’appuyer sur ENTER, prière de mettre à jour la base de donnée dans votre navigateur à l’url publique de votre Dolibarr installé"
read -p "Appuyez sur ENTER pour verrouiller l’installation si la mise à jour s’est faite sans encombre"
mv ${chemin}/documents/install.lock.BAK ${chemin}/documents/install.lock
echo "FIN DE MISE À JOUR DE DOLIBARR vers la version "${version}

Rendez le script exécutable avec un :

chmod +x ~/bin/majdolibarr.sh

Lancez le script par un simple ./majdolibarr.sh (soit dans le répertoire bin, soit dans votre home si vous avez bien mis ~/bin dans le path, et le travail de mise à jour, ou d’update, est fait pour vous.
Appréciez la nouvelle version de Dolibarr, et ainsi de suite pour les versions à venir, en éditant le script pour renseigner les variables qu’il vous faudra ajuster en 5 secondes.
Remerciements à Françoise et avelldiroll sur irc.

//EDIT : nous venons encore de passer de la 14.0.5 à la 16.0.5 en ce mois de juin 2023. La procédure se fait en deux étapes pour la mise à jour de la base de donnée, comme il y a deux versions majeures entre les deux versions. RAS, tout se passe toujours très bien.

Catégorie
Avatar du visiteur
Stephane (non vérifié)

sympa comme script.
Les lignes 12 à 18 peuvent, à mon avis, se faire en 2 étapes :
wget --content-disposition -c "https://sourceforge.net/projects/dolibarr/files/Dolibarr ERP-CRM/"${version}/dolibarr-${version}.tar.gz
sudo -u www-data tar -x -C ${chemin} --strip-component 1 -f dolibarr-${version}.tar.gz

27/02/2021 Permalien

Ajouter un commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les lignes et les paragraphes vont à la ligne automatiquement.