40 lines
1.9 KiB
PHP
40 lines
1.9 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
// Sauvegarde hebdomadaire de la base, envoyée par email, puis vidage de la corbeille des profils.
|
|
// À déclarer dans l'espace client OVH, onglet « Plus », « Planificateur de tâches » :
|
|
// commande : vivier/cron/sauvegarde.php langage : PHP 8.3 fréquence : chaque dimanche à 6 h
|
|
// Ce dossier est hors de la racine web : le script ne peut pas être appelé par une adresse.
|
|
|
|
require __DIR__ . '/../src/bootstrap.php';
|
|
|
|
$resultat = Sauvegarde::executer('planifiee', true);
|
|
|
|
// Ce texte arrive dans le rapport d'exécution d'OVH
|
|
echo date('Y-m-d H:i') . ' Vivier, sauvegarde : '
|
|
. ($resultat['reussie']
|
|
? 'faite, ' . $resultat['fichier'] . ' (' . Sauvegarde::taille((int) $resultat['taille']) . '), email : ' . $resultat['envoi']
|
|
: 'ECHEC, ' . $resultat['detail'])
|
|
. ($resultat['reussie'] && $resultat['detail'] !== '' ? ' ' . $resultat['detail'] : '') . "\n";
|
|
|
|
// La corbeille des profils se vide au même moment : les profils supprimés depuis plus de 30 jours sont effacés
|
|
try {
|
|
$effaces = purger_corbeille();
|
|
echo date('Y-m-d H:i') . ' Vivier, corbeille : ' . $effaces . " profil(s) efface(s)\n";
|
|
} catch (Throwable $ex) {
|
|
echo date('Y-m-d H:i') . ' Vivier, corbeille : ECHEC, ' . $ex->getMessage() . "\n";
|
|
}
|
|
|
|
// Le journal des connexions garde 12 mois ; les liens d'invitation, 12 mois après leur création
|
|
try {
|
|
purger_connexions();
|
|
db()->exec('DELETE FROM invitations WHERE cree_le < DATE_SUB(NOW(), INTERVAL ' . CONNEXIONS_MOIS . ' MONTH)');
|
|
echo date('Y-m-d H:i') . " Vivier, journal des connexions : purge faite\n";
|
|
} catch (Throwable $ex) {
|
|
echo date('Y-m-d H:i') . ' Vivier, journal des connexions : ECHEC, ' . $ex->getMessage() . "\n";
|
|
}
|
|
|
|
// Toujours 0 : OVH désactive une tâche après 10 échecs, ce qui arrêterait aussi les sauvegardes suivantes.
|
|
// Un échec est signalé par l'email d'alerte et par le tableau de bord de Vivier.
|
|
exit(0);
|