İlk olarak, bir açıklama sırasıdır:
- init.d dizinidir depolar hizmetleri kontrol eden komut dosyaları, kontrol ettikleri başlayan ve bu gibi hizmetlerin durdurulması
httpdveyacron
- rc.local , sistem başlatma işleminin bir parçası olarak rastgele komut dosyalarının çalıştırılmasına izin veren bir hizmettir
Komut dosyanızı kullanmanın rc.localveya cronçalıştırmanın daha iyi olup olmadığı konusunda , pratikten çok estetik meselesi olduğundan şüpheleniyorum. cronBir görev zamanlayıcı olarak, güncellemeleri kontrol etmek, önbellekleri temizlemek veya güvenlik denetimleri yapmak gibi bir makineye bakım yapmak veya bakım yapmak için bir yöntem olarak tasarlanmıştır. Bu, belirtilen zamanda istenen herhangi bir komut dosyasını veya komutu çalıştırabileceği için bu işlevleri yerine getirmeyle sınırlı olduğu anlamına gelmez @reboot.
Kullanılması rc.localolarak, görevin bir sistem konfigürasyonu türü içinde daha düşecek, diğer taraftan, olur rc.localmakineler tarafından yürütülmektedir, sistemi başlatmaya tipik makineleri ağ yapılandırmasını ayarlamak sorumludur, hizmetler veya ortamlar (ama yine sadece bunlarla sınırlı değildir bu görev).
Bununla birlikte, bu noktaların her ikisi de, tüm init sistemlerinin bir rc.localmekanizma sunmadığı ve tüm cron daemonlarının bir @rebootpsuedo etiketi sunmadığı gerçeğiyle temellendirilmelidir.
Bonus puanlar
Belirtildiği gibi, init.dsisteminizde başlatılabilen veya durdurulabilen hizmetleri kontrol eden komut dosyalarını içeren dizin (en azından bir SysVinit sistemi kullanan makinelerde ). Init sisteminize ve komut dosyanızın amacına bağlı olarak, komut dosyanızı bir hizmetle aynı şekilde çalıştırılmak üzere bir init komut dosyasına dönüştürmeniz makul olabilir . Bununla birlikte, bu, bu dosyaların nasıl oluşturulduğunu çevreleyen çerçeve büyük ölçüde farklılık gösterebileceğinden, büyük ölçüde init sisteminize bağlıdır.
Son söz
Ayrıca, tipik olarak bash betiğinin , bunun hemen bir metin dosyası yerine bir kabuk betiği olduğu anlamına geldiğinden .shziyade bir sonek ile bittiğine dikkat edilmelidir .txt. Dosyanın üstünde bir shebang ( #!/bin/bash) bulunması veya bash /path/to/script.whateverbetiğin çalıştırılması açısından bir önemi olmaması gerektiği söyleniyor .