J'ai déjà installé cron et le voici
1 0 * * * rm -R/chemin/vers/mon/dossier/$ (date + '% Y-% m-% d' -d "hier")
Je veux supprimer tous les dossiers quotidiens avec "Nom d'hier" LIKE "2014-12-14"
Voici mon ubuntu/var/log/syslog lorsque j'exécute la commande "grep CRON"
16 déc. 00:01:01 {SERVERNAME} CRON [21031]: (racine) CMD (rm -R/chemin/vers/mon/dossier/$ (date + ')) 16 déc. 00:01:01 {SERVERNAME} CRON [ 21030]: (CRON) info (Pas de MTA installé, sortie rejetée)
La page de manuel (man 5 crontab
) dit:
La totalité de la partie commande de la ligne, jusqu'à un caractère de nouvelle ligne ou%, sera exécutée par/bin/sh ou par le shell spécifié dans la variable shell du fichier crontab. Les signes en pourcentage (%) de la commande, sauf s'ils sont précédés d'une barre oblique inverse (), sont transformés en caractères de nouvelle ligne et toutes les données suivant le premier% sont envoyées à la commande en tant qu'entrée standard.
Vous devez donc remplacer chaque %
dans votre format de date par \%
:
1 0 * * * rm -R /path/to/my/folder/$(date +'\%Y-\%m-\%d' -d "yesterday")
Vous pouvez utiliser cette commande
find /path/to/dir -maxdepth 0 -ctime +1 -exec rm -fr {} +
c'est à dire
1 0 * * * find /path/to/dir -maxdepth 0 -ctime +1 -exec rm -fr {} +