Daha sonra çalıştırmak için bir komutu rahatça programlayın?

72

Komutu çalıştırmanın basit bir yolu nedir, 8 saat sonra mı? Bu şekilde düşünebilirim:

nohup bash -c "sleep 28800 ; ./mycommand.sh" &

Daha "uygun" bir yol var mı?

    
sordu Steve Bennett 30.08.2013 13:25

4 cevap

105

at komutunu kullanabilirsiniz. % Co_de% daha sonra komutları yürütür. % Co_de% yardımcı programı, standart girdiden gelen komutları okumalı ve daha sonra idam edilecek şekilde iş başında olarak gruplandırmalıdır.

Genellikle, at Ubuntu'da varsayılan olarak yüklenir, ancak sürümünüz buna dahil değilse, şu adresten yükleyin:

sudo apt-get install at

Daha fazla bilgi, seçenekler, örnekler ve diğerleri için Ubuntu Manpage Repository

Örnek:

at now +8 hours -f ~/myscript.sh

Ayrıca, at veya at gibi,

gibi uygun shorthand'leri de kullanabilirsiniz
echo "tweet fore" | at teatime 

Uyarı: Bu komut, hemen borusunun solundaki komutu çalıştıracak, ancak yalnızca çıkışını daha sonra gösterecektir. Örnek, eylemleri tomorrow 'ye nasıl aktaracağınızı da gösterir. noon , numaralarıyla birlikte kolayca listeleyebileceğiniz zamanlanmış eylemleri inceleyebileceğiniz yoldur:

at -c 3
    
verilen cevap Mitch 30.08.2013 13:39
9

Evet, bir cron işi ayarlayabilirsiniz.

Örneğin, şimdi saat 14:39:00 ve bugün cuma, 30 ağustos ise, crontab -e komutunu kullanarak crontab dosyanıza aşağıdaki cron işini (8 saat sonra çalıştırılacak) ekleyebilirsiniz:

39 22 30 8 5  /path/to/mycommand.sh

Daha fazla bilgi için:

verilen cevap Radu Rădeanu 30.08.2013 13:34
7

cron , at ve benzeri için Gnome tabanlı GUI kullanın:

CronHowto ifadesinin kullanılması, gnome-schedule gui kullanılmasını önerir. terminal (özellikle "güç" * nix / bsd kullanıcıları olmayan "ortalama" Ubuntu kullanıcıları içindir.)

Zamanlanmış Görevler 'i aramak veya gnome-schedule dosyasını çalıştırmak için Unity Dash'i (veya diğer uygulamalar menüsünü) kullanarak çalıştırın.

  

Gnome tabanlı Ubuntu sistemlerinde Gnome Zamanlanmış görevler aracı (gnome programından   paket) Uygulamalar - & gt; Sistem Araçları, komut istemi ile grafiksel bir arayüz sağlar   Cron kullanmak için. Proje web sitesi İşte ;   Yazılım, Yazılım Merkezi'nden yüklenebilir veya yazarak

sudo apt-get install gnome-schedule
     

bir terminalde.

Giriş dizininizdeki bir komut dosyası için gnome-schedule değerini kullanarak, bu tür pencereyi kullanarak yeni bir "at" komutu oluşturulacak:

    
verilen cevap user29020 16.07.2014 21:20
3

at öğesinin bir şey olduğunu öğrenmeden önce bunu yapmak için hızlı ve kirli bir yol buldum.

Komut dosyanızın öğlen çalışmasını istediğinizi varsayalım:

until [[ "$(date)" =~ "12:00:" ]]; do
    sleep 10
done
./mycommand.sh

Yarın öğlen saatlerinde koşmasını istediğini söyle (bugün benim için 24 Kasım):

until [[ "$(date)" =~ "25 12:00:" ]]; do 
    sleep 30
done
./mycommand.sh
    
verilen cevap wjandrea 24.11.2015 07:07

Etiketlerdeki diğer soruları oku