Question

Je suis en train d'écrire un frontend web pour Crontab en Ruby grâce à l'excellent petit bijou de CronEdit. Je suis passé par le code source crontab de Dillon Cron et a trouvé qu'il met à jour un fichier particulier pour que le démon actualiser la liste des Cron lors du prochain balayage.

crontab homme VixieCron, il dit:

    De plus, chaque minute Cron vérifie pour voir si le modtime de son répertoire de spool     (Ou sur modtime / etc / crontab) a changé, et si elle a le cas, cron     examiner la modtime sur tous crontab et recharger ceux qui ont changé.     Ainsi Cron n'a pas besoin d'être redémarré chaque fois qu'un fichier crontab est modifié. Notez que     la commande crontab (1) met à jour le modtime du répertoire de la bobine chaque fois que cela     change un crontab.

Y at-il la plate-forme (Ubuntu, Red Hat, ArchLinux, Mac OS X) de manière indépendante pour assurer que, après la modification manuelle du fichier Cron, le démon, il rafraîchit sans échec?

Était-ce utile?

La solution 3

Je vous remercie beaucoup gnibbler et Aaron. Je suis juste allé dans le code source pour les pierres précieuses « chaque fois » et « cronedit » pour Ruby. Les deux d'entre eux signifie la mention « crontab - » qui remplace le fichier existant avec les Cron entrées Cron mises à jour. Cela signifie que contraire à ma question initiale, ces bibliothèques utilisent l'outil crontab standard qui, à son tour ferait tout des détails nécessaires pour rafraîchir le démon.

Je pense que la meilleure plate-forme indépendante, et Cron (dillon, Vixie, mcron etc.) manière agnostique pour rafraîchir le démon est toujours utiliser l'utilitaire crontab associé. Même lors de l'édition programmation, le programme utilisateur doit passer le nouveau fichier à l'utilitaire cron crontab qui ferait tout ce qui est requis par cette plate-forme / Cron spécifique.

@ Mark, merci pour les commentaires. Cependant, je suis en train de fournir une interface web simple, que l'utilisateur peut personnaliser à travers le www comme éditant le fichier crontab directement.

Merci beaucoup pour vos réponses!

Autres conseils

Non, il n'y a pas. Si vous savez qu'il est VixieCron, puis mettez à jour l'horodatage du répertoire. Sinon, vous pourriez être en mesure de faire semblant. Définissez la variable d'env EDITOR avant invoquez crontab -e (qui devrait mettre en place un éditeur pour la crontab)

L'idée est de mettre l'éditeur à un certain programme qui fait le changement. crontab -e attendra l'éditeur et de mettre fin à relire le fichier et dire que quelque chose a Cron changé.

Si vous avez une ancienne version de Cron, cependant, vous devez toujours redémarrer. Mais je doute que vous pouvez trouver ces anciennes versions sur quelque chose qui fonctionne sous Linux ou Mac OS X.

linux modernes distros Sane ont répertoire /etc/cron.d/ où vous pouvez mettre votre entrée crontab dans un fichier séparé. Si je me souviens bien le nouveau cronfile est lu dans les 2 minutes d'être écrit

Si cela est si important, pourquoi ne pas utiliser un levier différent? Autrement dit, il y a deux options:

crontab 1:. / Faire / some / très / spécifique / chose avec des paramètres spécifiques que je dois changer etc

crontab 2: / faire / quoi / besoins / à / être / fait

# 2, le travail est chargé de déterminer au moment de l'exécution de ce qui doit être fait et le faire. Avec cette conception, la notion d'avoir besoin de comprendre comment fonctionne crontab à un certain niveau détaillé est hors de propos.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top