Question sur crontab

Bonjour à tous,

Ma question n’est pas propre à Debian, mais au fonctionnement de crontab.

J’utilise mes serveurs pour héberger des sites internet, chaque site internet ayant besoin de tâches planifiées. Jusqu’à présent, je faisait un crontab -e et je mettais à la suite toutes les tâches planifiées de tous mes sites dans le même fichier.

Ca marchait très bien, sauf que je ne sauvegardais pas mes crontab, et lors d’un récent crash, j’ai réinstallé mon serveur et j’ai perdu mes cron.

Je voulais donc savoir si il était possible avec cron, d’avoir un fichier pour chaque site du style /var/www/site1/commandes.crontab et de le faire prendre en compte par crontab ?

Ainsi, en sauvegardant mes www, je sauvegarde aussi mes crontabs.

D’avance merci !

Le manuel de cron indique

Tu peux mettre des liens symboliques vers des fichiers situés ailleurs, les fichiers seront ainsi sauvegardés

OK merci, je regarde de ce coté là :smiley:

Salut,

[mono]$ man cron[/mono] Extrait.

[quote]
PARTICULARITÉS DEBIAN

   Debian introduit quelques modifications à cron qui n'étaient pas disponibles en amont à l'origine. Les modifications les plus significatives introduites sont :

   —      gestion des répertoires /etc/cron.{hourly,daily,weekly,monthly} par l'intermédiaire de /etc/crontab ;

   —      gestion de /etc/cron.d (répertoire de dépôt des crontabs de paquet) ;


— exécution de crontab(1) avec les privilèges du groupe crontab au lieu de ceux du superutilisateur ;

   —      emplacement des fichiers et commandes spécifiques à Debian ;

   —      configuration spécifique à Debian (/etc/default/cron) ;

   —      nombreuses autres fonctionnalités plus petites et corrections.



   La  prise  en  charge  de  /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly et /etc/cron.monthly est fournie dans Debian à l'aide des réglages par défaut du fichier
   /etc/crontab. Le fichier système crontab par défaut contient quatre tâches, exécutées toutes les heures, tous les jours, toutes les semaines, et tous les mois. Chacune
   de  ses  tâches  exécutera run-parts avec chaque répertoire en argument. Ces tâches sont désactivées si anacron est installé (sauf la tâche exécutée toutes les heures)
   pour éviter les conflits entre les deux démons.

   C[i]onformément à la description précédente, les fichiers de ces répertoires doivent vérifier quelques propriétés,  parmi  lesquelles :  être  exécutable,  appartenir  au
   superutilisateur,  ne pas être accessible en écriture au groupe ni aux autres et, s'il s'agit de liens symboliques, pointer vers des fichier appartenant au superutili‐
   sateur. De plus, les noms de fichier doivent respecter les exigences de run-parts : ils ne doivent contenir que des caractères alphanumériques, des tirets bas  (« _ »)
   et  des  traits  d’union  (« - »). Les fichiers ne respectant pas ces exigences ne seront pas exécutés par run-parts.[/i] Par exemple, les fichiers dont le nom contient un
   point seront ignorés. Le but est d'éviter que cron exécute des fichiers laissés par le gestionnaire de paquet Debian lorsqu'il  traite  les  fichiers  de  /etc/cron.d/
   comme des fichiers de configuration (c'est-à-dire les fichiers qui se terminent par .dpkg-dist, .dpkg-orig et .dpkg-new).

   [i]Cette  fonctionnalité peut servir aux administrateurs système et aux paquets pour réaliser des tâches qui seront exécutées à intervalles réguliers. Les fichiers de ces
   répertoires créés par des paquets devraient prendre le nom du paquet qui les fournit.

[/i]
La prise en charge de /etc/cron.d est fournie par le démon cron lui-même, qui gère ce répertoire comme le spool de crontab système. [i]Ce répertoire peut contenir
n’importe quel fichier définissant des tâches respectant le format utilisé dans /etc/crontab, c’est-à-dire contrairement au spool de l’utilisateur, ces fichiers
doivent fournir un identifiant dans la définition de tâche pour l’exécuter.

   Les fichiers de ce répertoire doivent appartenir au superutilisateur, n'ont pas besoin d'être exécutables (ce sont des fichiers de configuration, tout comme /etc/cron‐
   tab)  et doivent respecter la même convention de nommage que celle utilisée par run-parts(8) : leur nom ne doit contenir que des caractères alphanumériques, des tirets
   bas et des traits d’union. Il ne doivent donc pas contenir de point.[/i] Si l'option -l est indiquée à cron (cette option peut être configurée dans /etc/default/cron, voir
   ci-dessous), alors ils doivent respecter les conventions de nommage LSB, tout comme avec l'option --lsbsysinit de run-parts.

   L'objectif  de  cette  fonctionnalité est de permettre aux paquets qui nécessitent un contrôle plus fin de leur programmation que ce qui est offert par les répertoires
   /etc/cron.{hourly,daily,weekly,monthly}, d'ajouter un fichier crontab dans /etc/cron.d. Ces fichiers devraient prendre le nom du paquet qui les fournit.

   De plus, la configuration par défaut de cron dépend de /etc/default/cron qui est lu par le script d'initialisation qui lance le démon cron.  Ce  fichier  détermine  si
   cron  lira les variables d'environnement du système et permet d'ajouter des options supplémentaires au programme cron avant qu'il ne soit exécuté, soit pour configurer
   sa journalisation, soit pour définir la façon dont il traite les fichiers du répertoire /etc/cron.d.[/quote]