Evolution #4727
Envoi de mail non désiré par la tâche planifiée de la purge de la corbeille samba
Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
Début:
21/01/2013
Echéance:
25/01/2013
% réalisé:
100%
Temps estimé:
0.50 h
Distribution:
EOLE 2.3
Description
Dans le script
/usr/share/eole/schedule/daily/pre/cron-trash, la commande
find /home -ctime +8 -path "*/\.corbeille/*" -delete &>/dev/nullsupprime bien les objets plus vieux que 8 jours mais pour les dossiers qui contiennent encore des objets moins vieux, find renvoie "impossible de supprimer...: Le dossier n'est pas vide" et sort avec une code d'erreur 1. Le phénomène se produisait déja avant en 2.2 mais la tache ne passait pas par le service de eole-schedule et aucun mail n'était donc envoyé.
Il faudrait peut-être gérer différemment le retour de la commande pour l'envoi de mail d'alerte.
Demandes liées
Révisions associées
suppression de tous de type de fichier non répertoire puis suppression des répertoires vides (fixes #4727)
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus de 11 ans
Etonnant que le répertoire parent ait une date inférieur à son contenu.
Je propose de faire en 2 passes :
- suppression des fichiers ;
- suppression des répertoires vides.
Voici un exemple (j'ai replacé les ctime en mtime, mais il faut bien mettre mtime) :
Création des répertoires :
mkdir -p test/.corbeille/rep1 touch --date "2004-02-29 16:21:42" test/.corbeille/rep1/file1 touch test/.corbeille/rep1/file2 touch --date "2004-02-29 16:21:42" test/.corbeille/rep1 mkdir -p test/.corbeille/rep2 touch --date "2004-02-29 16:21:42" test/.corbeille/rep2/file1 touch --date "2004-02-29 16:21:42" test/.corbeille/rep2
Fonctionnement actuel :
find . -mtime +8 -path "*/\.corbeille/*" ./test/.corbeille/rep1 ./test/.corbeille/rep1/file1 ./test/.corbeille/rep2/file1 find . -mtime +8 -path "*/\.corbeille/*" -delete find: impossible de supprimer `./test/.corbeille/rep1': Le dossier n'est pas vide find . ./test ./test/.corbeille ./test/.corbeille/rep1 ./test/.corbeille/rep1/file2
En deux passes :
find . ! -type d -mtime +8 -path "*/\.corbeille/*" -delete find . ./test ./test/.corbeille ./test/.corbeille/rep1 ./test/.corbeille/rep1/file2 ./test/.corbeille/rep2 find . -empty -mtime +8 -path "*/\.corbeille/*" -delete find . ./test ./test/.corbeille ./test/.corbeille/rep1 ./test/.corbeille/rep1/file2
#2 Mis à jour par Joël Cuissinat il y a plus de 11 ans
- Version cible mis à Mises à jour 2.3.8
- Temps estimé mis à 0.50 h
#3 Mis à jour par Fabrice Barconnière il y a plus de 11 ans
- Statut changé de Nouveau à Accepté
- Assigné à mis à Emmanuel GARETTE
#4 Mis à jour par Emmanuel GARETTE il y a plus de 11 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit conf-scribe:fa05d1998e6c7b915a6adc19a66816371c8a9544.
#5 Mis à jour par Luc Bourdot il y a plus de 11 ans
- Echéance mis à 25/01/2013
- Début changé de 18/01/2013 à 21/01/2013
#6 Mis à jour par Bruno Boiget il y a environ 11 ans
- Statut changé de Résolu à Fermé
modif présente en version candidate.
A confirmer en utilisation réelle