Problème de sauvegarde

Bonjour.

Jusqu’à la version 12.0.4, j’utilisais la sauvegarde intégrée.
Depuis la 13.0.0 j’ai un message d’erreur :
Warning: preg_match(): Unknown modifier ‹ ] › in htdocs\core\lib\files.lib.php on line 2155
J’utlise la compression zip (sous Windows 10).
Il semble que ça vienne de la ligne
if (empty($excludefiles) || !preg_match($excludefiles, $filePath))

En ne gardant que la ligne
$zip->addFile($filePath, $relativePath);
ça (re)fonctionne mais bon… S’il y a ce test c’est que ça doit servir à quelque chose.

Cordialement.

Bonjour, moi aussi j’ai une erreur en 2ème partie de sauvegarde. Est-ce important ?

Warning: preg_match(): Unknown modifier ‹ ] › in D:\dolibarr\www\dolibarr\htdocs\core\lib\files.lib.php on line 2167
(…)
Warning: Cannot modify header information - headers already sent by (output started at D:\dolibarr\www\dolibarr\htdocs\core\lib\files.lib.php:2167) in D:\dolibarr\www\dolibarr\htdocs\admin\tools\export_files.php on line 172

J’ai pu temporairement revenir à 12.0.4 (j’étais à 12.0.2 avant) et aucun problème de sauvegarde. Je vais tester plus en détails sur un autre poste provisoire.

et même en 12.0.5 que j’avais pas vu disponible, la sauvegarde marche sans encombres.

Bonjour.
Je suis passé en 13.0.1 mais toujours le même problème.
J’ai donc refait la petite modif. indiquée plus haut et ça re-fonctionne…

Je viens effectivement de voir qu’il y avait une version 12.0.5 mais publiée à postériori de la 13.0.0. Je ne l’avais donc pas installée. La sauvegarde fonctionne bien aussi.
Par contre j’ai migré un site de test en passant toutes les version 12.0.4->13.0.1 et à partir de 13.0.0, souci…

Je précise que c’est en faisant une sauvegarde zip sous Windows dans mon cas.

En fait en fouillant un peu, il y a une variable $excludefiles qui exclut certains fichiers et dossiers de la sauvegarde. Notamment les anciennes sauvegardes pour éviter de sauvegarder les sauvegardes les unes sur les autres. Cette variable doit avoir un problème avec les anti-slash d’échappement des slash au niveau du nom de dossier (initialisation de cette variable dans htdocs/admin/tools/export_files.php) et ça génère notre message d’erreur.
En remplaçant 3 slash par 2, ça fonctionne, mais les sauvegardes se sauvegardent quand même sur elles-mêmes. Je pense que ça se passait déjà en 12.0.5. Je viens de vérifier avec un 12.0.3.
Si en plus on sauvegarde avec un intervalle de moins d’une minute, un seul fichier contient les deux sauvegardes (l’horodatage des noms de fichiers est la minute).

J’ai aussi essayé de mettre un filtre sur les fichiers zip (dans le fichier ci-dessus, ligne 116, j’ai inséré |.zip ) . Du coup la sauvegarde exclut les fichiers zip et donc les sauvegardes précédentes. C’est nickel. Sauf que le jour où je mettrai à nouveau à jour Dolibarr, ma modif sera écrasée. Et surtout que si j’ai des fichiers zip importants dans l’arborescence des documents, ils ne seront pas sauvegardés…

Je pense qu’il faudrait peut-être mettre en place un paramètre avec le nom du dossier des sauvegardes et l’exclure d’office de la sauvegarde. Peut-être qu’il existe déjà (il y a une variable $outputdir = $conf->admin->dir_output.’/documents’; mais je ne sais pas où la paramétrer) , mais le dossier exclus est en dur dans le source.

Bonjour,
Je confirme que quelle que soit la version PHP (7.3 ; 7.4 notamment) il y a un message d’erreur à la sauvegarde de la base de données (quel que soit le type de sauvegarde ou le format) alors que la sauvegarde (dite export sous PHPMyAdmin) fonctionne sans problème ni de sauvegarde ni d’import dans une autre base.
Vivement que ce problème soit résolu.
Alain.
P.S. : Mes dolibarr sont en version 13.0.1 à ce jour.

Bonjour @AlainG @pht @jerome04
Il me semble que c’est réglé dans la v.13.0.2 qui est sortie… tout à l’heure :wink:

Cordialement
Eric

Bonsoir @All
Je confirme. Dans mon cas ça fonctionne et l’exclusion des zip précédents est bien gérée.
Merci.