Gelecekte bir zamanda gerçekleşecek tek bir etkinliği programlamanın basit bir yolu nedir?


15

Bilgisayarımın tek bir görev yapmasını istediğim çoğu zaman var, ancak şu anda değil. Örneğin, 30 dakika içinde işten ayrılma zamanının bana bildirilmesini sağlayabilirim. Ya da belki 2 saat sonra herkesin ofisten çıkacağından emin olduğumdan karmaşık bir test yapmasını istiyorum.

Günün belirli bir saatinde çalışmak için bir cron işi yaratabileceğimi biliyorum, ancak istediğim tek şey "Bu komut dosyasını 10 dakika içinde çalıştır" gibi basit bir şey olduğunda çok fazla iş gibi görünüyor. şu andan itibaren X dakika / saat / gün olacak ve sonra bitirildikten sonra cron işini silin.

Tabii ki sadece bu komut dosyasını yazıp arka planda çalıştırabilirim:

sleep X
do_task

Ama bu sadece çok hantal görünüyor: Ya her görev için yeni bir komut dosyasına ihtiyacım var, ya da istediğim şeyi yapacak kadar genel bir komut dosyası yazmam ve sürdürmem gerekiyor, bahsetmiyorum bile, dakikalarda kaç saniye olduğunu anlamam gerekiyor, saat ya da gün istiyorum.

Bu soruna önceden kurulmuş bir çözüm yok mu?


7
Sana rastlamadım ettik tahmin ediyorum en henüz?
jw013

bu çok basit görünebilir ... ama sisteminizde herhangi bir takvim / yapılacaklar listesi uyarısı yok mu?
JoséNunoFerreira

Yanıtlar:


27

Ben ile basit bir komut dosyası kullanın at:

#!/bin/bash
# email reminder notes using at(1)...

read -p "Time of message? [HH:MM] " time
read -p "Date of message? [dd.mm.yy] " date
read -p "Message body? " message

at "$time" "$date" <<EOF
echo "$message" | mailx -s "REMINDER" me@gmail.com
EOF

Yapabilirsin sadece kolayca boru olarak $messagehiç notify-sendveya dzenbir masaüstü bildirimi yerine bir e-posta isteseydim.


9
Ayrıca göreli time ( + 2 days) ve farklı biçimler ( YYYY-MM-DD) kullanabilir. Daha fazla bilgi için kılavuz sayfasına bakınız.
Arcege

Evet: ABD
mezhepleri

Ben genellikle quickie bir komut dosyaları için bize. Bir iş planlamak için en sevdiğim tembel yolu, saat veya gün de olabilir "şimdi +5 dakika".
George M

Senaryo için +1 ve duymadığım dzen ve bildir-gönderme söz.
Joe

Düzine yönlendirme benim için çalışmıyor. unix.stackexchange.com/q/38362/4143
Cory Klein

6

Kullanımına jenerik bir yol atolduğunu

Ne yapmak istediğinizi yapan bir komut dosyası yazın. Tüm harici komutlar için tam yolu kullanın, çıktıyı uygun bir günlük dosyasına kaydedin veya postalayın.

Komut dosyasını test edin.

İle etkinleştirin at -f YOURSCRIPT -t MMDDhhmm

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.