Changeset 117861 in spip-zone


Ignore:
Timestamp:
Sep 16, 2019, 1:01:59 PM (17 months ago)
Author:
tofulm@…
Message:

On sort le rsync des fichiers dans synchroBDD dans synchroFichiers
On garde toujours l'option d'appeler le rsync dans synchroBDD via -r ou --rsync

Location:
_outils_/spip-cli/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • _outils_/spip-cli/trunk/README.md

    r117859 r117861  
    5353
    5454## synchro SPIP
    55 > Synchroniser un spip distant sur un spip local, bdd / rsync / modif des metas
     55> Synchroniser un spip distant sur un spip local, bdd / fichiers / modif des metas
    5656>
    5757> ATTENTION, pour l'instant ne fonctionne que sur une bdd en mysql
    5858
    59 2 actions possibles :
     593 actions possibles :
    6060* `spip synchro:init` creation d'un fichier json : synchroSPIP.json à la racine du SPIP, il restera un peu de configuration à faire.
    61 * `spip synchro:bdd` pour lancer la synchro en s'appuyant sur le fichier synchroSPIP.json
     61* `spip synchro:bdd` pour lancer la synchro de la bdd et la modif des metas
     62* `spip synchro:fichiers` pour lancer la synchro des fichiers via rsync
    6263
    63 Il y a 3 args facultatifs pour : `spip synchro:bdd`
     64`spip synchro:bdd` : Il y a 3 args facultatifs
    6465* -v : verbeux
    6566* -b ou --backup: forcer le backup local de la bdd
    66 * -r ou --rsync: lancer à la fin les commandes rsync
     67* -r ou --rsync: lancer à la fin les commandes rsync du script synchro:fichiers
    6768
    68 Il y a 2 façons pour ouvrir une connexion ssh :
    69 * via : user / hostName / port
    70 * via: host (il faut l'avoir défini dans .ssh/config)
     69`spip synchro:fichiers`: Il y a 1 arg facultatif
     70* -v : verbeux
    7171
    72 Configuration pour le rsync :
     72Fichier de configuration synchroSPIP.json
     73* Il y a 2 façons pour ouvrir une connexion ssh :
     74        * via : user / hostName / port ex : `ssh toto@spip.net -p 1234`
     75        * via: host (il faut l'avoir défini dans .ssh/config) ex: `ssh mon_host_spip`
     76        * Il faut avoir une cle ssh
     77* Configuration pour le rsync : Chaque ligne représente : chemin local => chemin distant:
     78        * le chemin local peut-être en relatif
     79        * le chemin distant doit etre en absolue et se terminer par '/'
     80
     81exemple :
    7382```json
    7483"rsync": {
     
    7786}
    7887```
    79 Chaque ligne représente : local => distant, le chemin distant doit etre en absolue et se terminer par '/'
    80 libre à chacun de mettre les dossiers voulus
    8188
  • _outils_/spip-cli/trunk/src/Command/SynchroBdd.php

    r117858 r117861  
    9595                                $this->io->section('Debut rsync');
    9696                        }
    97                         $this->lancerRsync($config->rsync, $config->config_ssh);
     97                        SynchroFichiers::lancerRsync($config->rsync, $config->config_ssh, $this->verbeux, $this->io);
    9898                }
    9999        }
    100100
    101         protected function lancerRsync($Trsync, $config) {
    102                 foreach ($Trsync as $local => $distant) {
    103                         if ($local and $distant) {
    104                                 $port = $config->port ? $config->port : 22;
    105                                 $args = $this->verbeux ? "-azv" : "-az";
    106                                 $commande_rsync = "rsync -e 'ssh -i ~/.ssh/$config->nom_cle -p $port' $args --delete-after $config->user@$config->hostName:$distant $local";
    107                                 if ($this->verbeux) {
    108                                         $this->io->text('commande rsync :');
    109                                         $this->io->text($commande_rsync);
    110                                 }
    111 
    112                                 passthru($commande_rsync,$retour);
    113                                 if ($retour != "0"){
    114                                         $this->io->error('Erreur Rsync');
    115                                 } else {
    116                                         $this->io->success('rsync');
    117                                 }
    118                         }
    119                 }
    120         }
    121101
    122102        protected function synchroBdd($ssh, $local, $serveur, $forcer_backup) {
Note: See TracChangeset for help on using the changeset viewer.