Bir init.d betiği nasıl kurulur?

66

Zamanlama görevleri için kereviz çalıştırmak için bir init.d betiği yüklemeye çalışıyorum. İşte takip ettiğim adımlar:

  • dosyayı celeryd kopyaladı ve klasöre yapıştırdı /etc/init.d /
  • / etc / default / klasöründe celeryd yapılandırma dosyası oluşturuldu

şimdi sudo /etc/init.d/celeryd start tarafından başlatmaya çalıştığımda, sudo: /etc/init.d/celeryd: command not found hatası veriyor

init.d'yi nasıl yüklediğimi araştırdım, bunu anladım SO-soru .

uname -a yayınlayacağını ve bunu ne zaman aldığımı söylüyor:

Linux capsonesystem8-desktop 3.2.0-43-generic-pae 
#68-Ubuntu SMP Wed May 15 03:55:10 UTC     
2013 i686 i686 i386 GNU/Linux

ve ayrıca init.d komut dosyasını etkinleştirmek için insserv gibi kullanıldıkları belirtiliyor denedim:

insserv /etc/init.d/celeryd , ancak insserv: command not found hata veriyor

Bu nedenle, insserv sudo apt-get install insserv yüklemeyi denedim. ama düzgün kurulduğunu söylüyor:

insserv is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.

Peki init.d betiği nasıl kurulur? Herhangi bir yardım takdir edilecektir.

Update1:

Denediğimde:

$ sh -x /etc/init.d/celeryd start

, errors 'sini gösteriyor. Bu yüzden hizmet başlamıyor olabilir.

Update2:

$ sh -x /etc/init.d/celeryd start çalıştırdığımda tüm hataları temizledim, ancak yine de sudo /etc/init.d/celeryd start command not found hatası veriyor

    
sordu suhailvs 21.08.2013 08:48

4 cevap

53

celeryd komut dosyanız muhtemelen çalıştırılamıyor, bu yüzden sudo /etc/init.d/celeryd command not found değerini döndürüyor. Yani, önce onu çalıştırılabilir yapmalısınız.

Bunu yapmak için aşağıdaki komutları çalıştırın:

sudo chmod 755 /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

İlk satır, izinleri -rwxr-xr-x olarak değiştirir ve ikinci satır, dosyanın sahibi ve grup sahibinin root olmasını sağlar.

Bu işlem tamamlandıktan sonra, daemon'u başlatmak için sudo /etc/init.d/celeryd start kullanmanız gerekeceğini varsayar.

    
verilen cevap Alaa Ali 21.08.2013 09:18
65

Komut dosyasını yerine kopyaladığınızda, dosyayı çalıştırılabilir yapmayı ve root'a sahip olmayı unutmayın:

sudo chmod +x /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

Bunu yükledikten sonra, önyükleme sırasında otomatik olarak başlatılacak şekilde ayarlayabilirsiniz:

sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd enable
    
verilen cevap David Purdue 21.08.2013 09:18
3

command not found çalıştırdığınızda insserv hatasını alırsanız, aşağıdaki komutu çalıştırarak sorunu çözebilirsiniz:

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

Ardından yardım için insserv -h veya man insserv konusuna bakın.

Ayrıca şunları deneyebilirsiniz:

sudo update-rc.d celeryd defaults

Kaynak: İşte

    
verilen cevap Radu Rădeanu 21.08.2013 09:18
1

Bu, önyükleme sırasında arka planınızı otomatik olarak başlatmak için komut dizisidir:

sudo cd /etc/init.d
sudo chown root:root celeryd
sudo chmod 755 celeryd
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
sudo insserv celeryd
    
verilen cevap Oleg Bondar' 28.10.2013 04:30

Etiketlerdeki diğer soruları oku