2009-04-04 3 views
2

Je cherche à permettre à un utilisateur d'entrer une date et une heure pour envoyer un email de masse via PHP, même si je pense qu'il serait préférable d'utiliser une commande * nix pour déclencher le processus PHP. Je me demande s'il y a un moyen de le faire sur * nix sans ajouter un cronjob à lancer toutes les 15 minutes pour vérifier s'il y a un email de masse à envoyer. Ce n'est pas que ce soit un processus intensif, mais ce serait bien plus joli avec un cronjob à ajouter et à gérer. Je pense que cela serait quelque peu similaire à une tâche planifiée Windows qui a une date de fin et est définie pour supprimer si elle n'est pas planifiée à nouveau.Sur * nix existe-t-il un moyen de déclencher un processus à une date et heure futures?

Répondre

17

Vous recherchez la commande at.

à [options] temps [date]

d'exécuter des commandes à un moment précis et la date en option. Les commandes sont lues à partir de l'entrée standard ou d'un fichier . (Voir aussi lot.) Fin entrée avec EOF. l'heure peut être formée sous la forme d'une heure numérique (avec les minutes facultatives et les modificateurs) ou en tant que mot-clé. Il peut contenir une date optionnelle, formée comme mois et date, un jour de la semaine, ou un mot-clé spécial (aujourd'hui ou demain). Un incrément peut également être spécifié.

La commande at peut toujours être émise par un utilisateur privilégié. Les autres utilisateurs doivent être répertoriés dans le fichier /etc/at.allow s'il existe ; sinon, ils ne doivent pas être dans /etc/at.deny. Si aucun fichier n'existe, seul un utilisateur privilégié peut exécuter la commande.

En règle générale, vous exécutez et exécutez les commandes que vous souhaitez exécuter à , puis EOF.

$ à 01h00 demain> ./total_up> sortie à> mail joe < sortie à> Entrée en appuyant sur Ctrl- emploi D 1 à 2003-03-19 01:00

les deux commandes pourraient également être placés dans un fichier et présenté comme suit:

$ à 01h00 demain < fichierscript

+0

vous faire aussi familier avec le sy tem et les utilisateurs "crontab" fichiers. – Cheekysoft

+0

"at" a beaucoup d'options. Je trouve écho "" | à 2300 Fait ce que je veux 99% du temps. (tout le temps de 24 heures fera bien sûr!) –

Questions connexes