Changeset 110791 in spip-zone

Timestamp:
Jun 21, 2018, 2:45:20 PM (14 months ago)
Author:
marcimat@…
Message:

Ajout d’un script "spipmu" pour permettre le lancer une commande à N sites d’une mutualisation.
N’a pas d’intérêt en dehors d’une mutualisation «classique» (on considère les sites dans le répertoire 'sites').

Installation


`
svn up
cd bin
ln -s $(pwd)/spipmu /usr/local/bin/spipmu
`

Usage


`
spipmu [glob] [command]
spipmu "*"
spipmu "*college*" test:spip
spipmu nomdurepertoire core:maj:bdd
spipmu "*" "truc:muche argument argument ..."
`

  • Glob : Permet de cibler un ou plusieurs répertoires dans le répertoire "sites", en mettant un texte et des jokers

Contrainte : lorsqu’on utilise l’étoile dans le paramètre glob, il faut entourer de guillemets,
sinon le terminal explose l’étoile avec la liste des fichiers du répertoire :)

  • Command : Indique la commande (spip-cli) à faire exécuter.

S’il y a des arguments ou des options, il faudra entourer l’ensemble de la commande de guillements

Fonctionnement


Le script spipmu commence par vérifier s’il localise un répertoire SPIP.
Si oui, il cherche un répertoire 'sites'.
Si oui, il cherche les dossiers correspondant au ciblage glob (il affiche le nombre)
Si oui, il tente de calculer pour chaque site leur URL en base de données et extrait le domaine (host). Le site est ignoré si on ne trouve pas ou s’il semble incorrect.
Pour chaque site "valide", on exécute (via passthru) la commande spip-cli, en définissant HTTP_HOST sur le host trouvé pour le site.
Théoriquement, le chargement du SPIP en mutualisation, analyse cet élément (http_host) pour calculer les répertoires sites/xxx utilisés pour la mutualisation, et tout va bien.

Tristement, exécuter spip-cli via passthru() fait perdre la coloration de la sortie texte de spip-cli.

Location:
_outils_/spip-cli/trunk
Files:
5 added

Note: See TracChangeset for help on using the changeset viewer.