Il y a souvent des moments où je veux que mon ordinateur effectue une seule tâche, mais pas maintenant. Par exemple, je pourrais le faire m'informer dans 30 minutes qu'il est temps de quitter le travail. Ou peut-être que je veux qu'il exécute un test compliqué dans 2 heures, alors que je suis sûr que la plupart des autres seront partis du bureau.
Je sais que je pourrais créer un travail cron à exécuter à un moment précis de la journée, mais cela semble beaucoup de travail quand tout ce que je veux, c'est quelque chose de simple comme "Exécuter ce script en 10 minutes", en plus je devrais comprendre à quelle heure ce sera réellement X minutes / heures / jours à partir de maintenant, puis supprimez le travail cron une fois terminé.
Bien sûr, je pourrais simplement écrire ce script et l'exécuter en arrière-plan:
sleep X
do_task
Mais cela semble tellement maladroit: j'ai besoin d'un nouveau script pour chaque tâche, ou j'ai besoin d'écrire et de maintenir un script suffisamment générique pour faire ce que je veux, sans mentionner que je dois comprendre combien de secondes sont en minutes, heures ou jours que je veux.
N'y a-t-il pas une solution déjà établie à ce problème?
la source
Réponses:
J'utilise un script simple avec
at
:Vous pouvez tout aussi facilement diriger
$message
versnotify-send
oudzen
si vous vouliez une notification de bureau au lieu d'un e-mail.la source
+ 2 days
) et différents formats (YYYY-MM-DD
). Consultez la page de manuel pour plus de détails.La façon générique d'utiliser
at
estÉcrivez un script qui fait ce que vous voulez faire. Utilisez le chemin complet pour toutes les commandes externes, enregistrez la sortie dans un fichier journal approprié ou envoyez-le par la poste.
Testez le script.
Activez-le avec
at -f YOURSCRIPT -t MMDDhhmm
la source