Her 10 saniyede bir komut nasıl çalıştırılır (cron olmadan)?


35

İdam cronettiğimde bu hatayı alıyorum

cron: açılamıyor veya oluşturamıyor /var/run/crond.pid: İzin reddedildi

Peki, olmadan nasıl yapılır cron?

PS svn'deki dosyanın değişip değişmediğini kontrol etmek istiyorum ve bunun için özel bir betiğim var.


İzniniz yoksa, cron ile birlikte çalışmayı deneyin sudo.
Anonim

4
Unutmayın ki cron her 10 saniyede bir şeyler yapmaz, elde ettiği en tanecikli dakikadır.
Sezyum

Eğer cronjobs yapmak istiyorsanız crontab -e, editöre başlamak için koşmalısınız. Şu anki crontab -l
yayınları

@ İsimsiz root şifresini bilmiyorum, bu yüzden sudo bana yardımcı olmayacak.
UAdapter

Yanıtlar:


59

Kişisel cronkonfigürasyonunuza erişmek için bu komutu kullanmanız gerekir crontab -e(cron tablonuzu düzenlemek için).

Alternatif watchkomuttur:

watch -n10 command args

Son olarak, dosya sistemi olaylarını daha etkin bir şekilde izlemek inotifywaitiçin inotify-toolspaketten kullanabilirsiniz .


1
Belki de, emirlerinizi / komutlarınızı çift tırnak işareti içine almanız daha iyi olur ya da beklenmedik sonuçlarla sonuçlanır. watch -n<timeout> "command(s) arg(s)"gibiwatch -n2 "ps ux | grep ss5"
Aşil

watchBorular ve alıntılar kullanarak uzun, karmaşık komutları kabul etmekte zorlandım . Alttaki döngü işe yaradı, ancak elbette bir kişi kaçak ilaçlardan kaçınmak için her zaman önce uymalıdır .
rjurney

@ rjurney: Komutun tamamını tırnak işaretleri içine almanız yeterli, tek ya da daha iyi bir çift:watch -n10 "ls -l | grep $foo"
enzotib

@enzotib Sorun, komutlardaki alıntılar olduğunda ortaya çıkar, çünkü içindeki alıntılar içindeki alıntılar (tanrı yardım et) alıntılar bashta imkansız olan yaklaşımlardan kaynaklanır. Teoride bu mümkün olmalı, ancak nadiren bash içerisinde pes edip farklı bir rotaya gitmeden alıntılar yapıyorum.
rjurney

31

sleepBir süre döngüsü içinde olan bir kabuk betiği yazabilirsiniz .

#!/bin/sh
while [ true ]
do
    sh special_svn_script.sh
    sleep 10
done

5
while truekare fren gerektirmez, aksi takdirde "true" bir dize olarak yorumlanır ve her dize "true" kadar iyidir.
enzotib

1
@enzotib bu yüzden etrafta iyi bir şeyler yazabilirsin
Eduard Florinescu

Bu işe yarıyorken her zaman önce uymalısınız, çünkü uyku adımına ulaşılmamasına neden olan bir şey olabilir, bu durumda kaçak bir pidiniz bir şeyi siler.
rjurney

4

gnome-schedule (Install now!Yazılım Merkezinizi kullanmak içindüğmeye tıklayın)
vixie-cron, dcron gücünü ve crontab dosyanızı yönetmek ve bilgisayarınızdaki görevleri planlamak için kolay bir yol sağlayan grafik bir kullanıcı arabirimidir. Tekrarlayan (periyodik) görevleri ve gelecekte yalnızca bir kez gerçekleşecek görevleri destekler. Pygtk kullanılarak Python ile yazılmıştır.

Müthiş özellikler

  • Görevleriniz için özel başlıkları ve simgeleri destekler, böylece izlemeleri daha kolay olurlar
  • Şablonlar, aynı görevi tekrar tekrar oluşturmak zorunda kalmamanız için destekler; bunlar gconf'a kaydedilir ve bir Linux dağıtımı ile kolayca gönderilebilir
  • Kök olarak çalıştırıyorsanız, herhangi bir kullanıcının crontab ve "at" görevlerini düzenleyebilirsiniz.
  • İnsan tarafından okunabilen, "0 * * * *" yerine "Her saat" gibi dizeler
  • Crontab uzmanları için gelişmiş mod
  • Bir açılır menüden görevleri yönetebileceğiniz bir "panel uygulaması" sağlar
  • Önceden tanımlanmış genel ifadeler: her dakika, her hafta, yarın, gelecek hafta Bir takvim, bir işin yürütülmesini istediğiniz günü seçmenize olanak sağlar
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.