Pour les cron jobs plus complexes que votre exemple, j'aime mettre les cron jobs dans scripts sous ~/cron/, ensuite je peux les commenter pour savoir qui les a écrit, pourquoi ils sont là et quand ils ont été installés.
Une façon de faire le calcul pour votre rendez-vous serait la suivante. Je ne l'incorporerais pas dans une ligne simple, même si je suis sûr que c'est possible avec des échappatoires multiples et autres :
printf "%d-%02d-%02d" `date +%Y` $((`date +%m`-1)) `date +%d`
(serverfault a avalé mes backticks... je pense les avoir fait apparaître)
IMHO, find est meilleur pour supprimer des fichiers. Recherchez les fichiers qui correspondent à votre modèle plus anciens que la date. C'est plus sûr et ça évite de laisser traîner des choses lors de coupures de courant prolongées.
Ça pourrait même avoir l'air propre en une seule ligne... Je vais chercher un exemple.
Aha, voici un exemple où les fichiers "noooo" et "omg" sont détruits à cause de quelque chose dans le répertoire ./findtest/ :
$ ls -R
.:
findtest noooooo omg
./findtest:
mydb- file is * mydb-old-file.gz
$ rm `find ./findtest/ -name mydb*`
rm: cannot remove `./findtest/mydb-': No such file or directory
rm: cannot remove `file': No such file or directory
rm: cannot remove `is': No such file or directory
rm: cannot remove `findtest': Is a directory
$ ls -R
.:
findtest
./findtest:
mydb- file is *
Bonne façon :
$ find ./findtest/ -name mydb* -exec rm {} \;
$ ls -R
.:
findtest noooooo omg
./findtest:
$