İ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ı
httpd
veyacron
- 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.local
veya cron
çalıştırmanın daha iyi olup olmadığı konusunda , pratikten çok estetik meselesi olduğundan şüpheleniyorum. cron
Bir 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.local
olarak, görevin bir sistem konfigürasyonu türü içinde daha düşecek, diğer taraftan, olur rc.local
makineler 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.local
mekanizma sunmadığı ve tüm cron daemonlarının bir @reboot
psuedo etiketi sunmadığı gerçeğiyle temellendirilmelidir.
Bonus puanlar
Belirtildiği gibi, init.d
sisteminizde başlatılabilen veya durdurulabilen hizmetleri kontrol eden komut dosyalarını içeren dizin (en azından bir SysV
init 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 .sh
ziyade bir sonek ile bittiğine dikkat edilmelidir .txt
. Dosyanın üstünde bir shebang ( #!/bin/bash
) bulunması veya bash /path/to/script.whatever
betiğin çalıştırılması açısından bir önemi olmaması gerektiği söyleniyor .