Bonsoir à toutes et tous,

Le contexte :
Nous sommes en PHP Version 7.1.14 sur un serveur GATOR
  • J'ai besoin de créer un fichier .tar.gz de l'un de nos sites afin de pouvoir récupérer automatiquement le fichier créé sur notre NAS...
  • Notre hébergeur (GATOR) nous bloque par une erreur time out gateway au bout de 4 minutes...
  • J'ai donc créé une tâche CRON afin de le lancer directement...
  • Le fichier généré a une taille de plus de 4 go et atteint de ce fait la limite de traitement autorisée par GATOR
    or notre site nom compressé fait 16 go


Mon souci :

J'ai besoin de fragmenter la sauvegarde afin d'avoir plusieurs fichiers au lieu d'un seul "gros"

Pour cela j'ai créé un script php (voir ci-dessous) avec la ligne suivante que je lance via une tâche cron ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$cmd_public = "tar -czf /home3/roiarthur/backup/site_test/site_prod_public-".$timestamp.".tar.gz /home3/roiarthur/public_html --exclude=/home3/roiarthur/public_html/internal-data";
C'est OK sauf que ... l'exclusion du répertoire /internal_data n'est pas exécutée...
J'ai regardé dans l'aide php et j'ai même testé les scripts ONLINE (pas d'erreurs détectées)
pouvez vous m'expliquer mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
 
$timestamp = time();
$cmd_suppr = "rm -fd /home3/roiarthur/backup/site_test/*.tar.gz";
$cmd_public = "tar -czf /home3/roiarthur/backup/site_test/site_prod_public-".$timestamp.".tar.gz /home3/roiarthur/public_html --exclude=/home3/roiarthur/public_html/internal-data"; 
 
system ($cmd_suppr." && ".$cmd_public)
?>
J'ai également essayé ces syntaxes sans aucune amélioration
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$cmd_public = "tar  -czvf /home3/roiarthur/backup/site_test/site_prod_public-".$timestamp.".tar.gz  --exclude '/home3/roiarthur/public_html/internal-data' /home3/roiarthur/public_html";
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$cmd_public = "tar  --exclude '/home3/roiarthur/public_html/internal-data -czvf /home3/roiarthur/backup/site_test/site_prod_public-".$timestamp.".tar.gz /home3/roiarthur/public_html";
Voilà, c'est sûrement évident pour les pros mais j'avoue humblement que je ne trouve pas la solution.

Désolé si cette demande vous parait naïve mais mon niveau en php est triple buse ....

Merci d'avance pour vos réponses

Bonne soirée à vous tous

Amicalement,
Pierre