[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: commande en console, crontab et archivemail



On Mon, Jan 06, 2003 at 03:58:19PM +0100, Ploum wrote:
> voilà, j'ai beau gougeulé de partout, je ne trouve pas la réponse à mon
> problème.
> 
> Voilà, j'aimerais, via crontab, sauver tous les mois le fichier zippé
> des mails que j'ai envoyé dans un nouveau fichier, du nom du mois en
> question
> 
> j'imaginais un truc genre :
> 
> "mv monfichier < date +%m-%" 

Salut :) (et pis meilleurs voeux aux debianeux de la liste)

Mhh, le '<', en shell, ca veut dire 'prends en entrée les données du
fichier suivant', donc, c'est pas du tout ce que tu cherches à faire.
À la limite, ça aurait pu être un cat mon_fichier > date..., mais c'est
pas une économie de ressources :)
Donc, j'imagine plutôt un truc du genre 
mv mon_fichier "prout.`date +%m-%d`"

Attention, dans les crontab, les % ont une signification particulière,
et donc, si cette commande se retrouve dans une crontab, il faudra
rajouter un \ devannt tous les %.

> mais ça ne marche pas ! Comment faire ?

Ah non, ca marche pas :)

> Autre question, si je demande à crontab d'effectuer ça toutes les
> semaines, par exemple chaque lundi via
> "*     *   *   *   0   archivemail -d 10 -o ~/mail/archives ~/mail/sent"
> est-ce qu'il va effectuer cette tache si je ne le lance que le mardi ?
> Et ma syntaxe est-elle bonne quelque soit l'heure à laquelle j'allume
> mon PC le lundi ?

Mhh, la page de man pour la crontab (attention, man 5 crontab, sinon, on
tombe sur la commande crontab) est plutôt bien faite.
Tiens, par exemple, ceci pourrait de simplifier la vie:

       Instead of the first five fields, one  of  eight  special
       strings may appear:

              string         meaning
              ------         -------
              @reboot        Run once, at startup.
              @yearly        Run once a year, "0 0 1 1 *".
              @annually      (same as @yearly)
              @monthly       Run once a month, "0 0 1 * *".
              @weekly        Run once a week, "0 0 * * 0".
              @daily         Run once a day, "0 0 * * *".
              @midnight      (same as @daily)
              @hourly        Run once an hour, "0 * * * *".


Et si ton ordinnateur n'est pas allumé en permanence, je te conseille
d'installer anacron, qui est fait pour ça.

Package: anacron
Description: a cron-like program that doesn't go by time
 Anacron (like `anac(h)ronistic') is a periodic command scheduler.  It
 executes commands at intervals specified in days.  Unlike cron, it
 does not assume that the system is running continuously.  It can
 therefore be used to control the execution of daily, weekly and
 monthly jobs (or anything with a period of n days), on systems that
 don't run 24 hours a day.  When installed and configured properly,
 Anacron will make sure that the commands are run at the specified
 intervals as closely as machine-uptime permits.
 .
 This package is pre-configured to execute the daily jobs of the Debian
 system. You should install this program if your system isn't powered on
 24 hours a day to make sure the maintenance jobs of other Debian
packages
 are executed each day.


> Autre problème, avec archivemail, j'ai beau faire exactement omme alexis
> de lattre
> dans sa nouvelle formation, j'ai aucun problem avec la commande
> d'archivage, mais avec --delete, j'ai le message suivant :
> 
> 15:42 ploum@mars ~% archivemail --delete -d 2  ~/mail/trash      
> Traceback (most recent call last):
>   File "/usr/bin/archivemail", line 968, in ?
>     main()
>   File "/usr/bin/archivemail", line 550, in main
>     archive(mailbox_path)
>   File "/usr/bin/archivemail", line 755, in archive
>     _archive_mbox(mailbox_name, final_archive_name)
>   File "/usr/bin/archivemail", line 828, in _archive_mbox
>     retain.finalise(mailbox_name)
> TypeError: finalise() takes exactly 1 argument (2 given)
> zsh: exit 1     archivemail --delete -d 2 ~/mail/trash

Connais pas. Faudrait voir avec l'auteur.

> 
> merci de l'aide !


-- 
Manu
// Il faut prendre les femmes comme on prend les tortues, en les mettant
// sur le dos. Elemir Bouges (1852-1925)



Reply to: