Utilisation du script de suppression

Ce document décrit le fonctionnement et la mise en place du script de suppression.

Ce script n’a pas vocation à faire le ménage à la place des développeurs, il doit être utilisé avec modération dans des cas comme le nettoyage des fichiers .map, ou du dossier “public”.

Le script est disponible sur SVN et doit être déployé dans VAS/util/vitis.fileCleaner

Principe de fonctionnement

Le script est générique et n’a pas à être modifié pour nettoyer de nouveaux dossiers.

Le script va scanner un dossier de ressources contenant des fichiers JSON.

Chaque fichier JSON sera de cette forme :

{
    "remove":[
        {
            "path":"[VAS_DIR]/public/dtnet/dtdict",
            "expiration" : 4
        }
    ]
}

L’attribut “path” spécifie le chemin à nettoyer, il doit être relatif à un dossier de l’application en utilisant les clés définies plus loin dans ce document.

L’attribut “expiration” définit le nombre de jours nécessaires pour que le fichier soit considéré comme supprimable.

Il existe un fichier de ressource pour :

  • Vitis :
    • VAS/upload (120 jours)
  • GTF :
    • VAS/public/gtf (120 jours)
  • DtNet :
    • VAS/public/dtnet/dtdict (4 jours)

Liste des clés de remplacement dans les chemins :

  • VAS_DIR : répertoire VAS
  • PUBLIC_DIR : répertoire Public (imp ASAP)
  • WS_DATA_DIR : répertoire ws_data (imp ASAP)

En sortie d’exécution vous aurez un fichier de log disponible en consultation dans l’interface (report_ANNEE-MOIS-JOUR.log) de ce type :

../_images/log-screenshot.JPGlog-screenschot

Mise en place du script

Le script devra être lancé via une tâche cron sous linux, ou une tâche planifiée sous windows (voir PyCron à définir).

Sous Linux

Vous devrez autoriser l’exécution du script par le système en utilisant les commandes suivantes dans le dossier util/vitis.fileCleaner :

chmod +x filecleaner.php
chown -R www-data.www-data ./

Crontab

Voici un exemple de crontab testé sous linux pour lancer le script tous les jours à 20H00 :

#<vitis.fileCleaner [VAS_DIR]/util/vitis.fileCleaner>
# Execution tous les jours à 20H00
0 20 * * * '[VAS_DIR]/server/php/bin/php' '[VAS_DIR]/util/vitis.fileCleaner/fileCleaner.php'
#</vitis.fileCleaner>