DirectAdmin cron jailshell hatası alıyorsanız bu kapsamlı rehberde jail mekanizmasını devre dışı bırakma, crontab’ı temizleme ve cron job’larınızı sorunsuz şekilde çalıştıracaktır , Bu sorunu almanızın sebebi sunucuda jailshell e alternatif bir sistemin bulunmasıdır , CAGEFS gibi.
DirectAdmin üzerinden eklenen cron job’lar çalıştırıldığında aşağıdaki hata alınıyor:
execl: couldn't exec `/usr/bin/jailshell'
execl: Böyle bir dosya ya da dizin yok
Bu, sistemde /usr/bin/jailshell
dosyasının bulunmaması ve DirectAdmin’in cron komutlarını jailshell aracılığıyla çalıştırmaya çalışması nedeniyle oluşur.
Çözüm
Aşağıdaki adımları uygulayarak sorunu giderebilirsiniz:
- Jail mekanizmasını kapatın:
/usr/local/directadmin/directadmin config-set jail 0
- DirectAdmin servisini yeniden başlatın:
service directadmin restart # veya systemctl restart directadmin
- Mevcut tüm crontab’lardaki
SHELL=
satırlarını silin:for user in $(ls /var/spool/cron); do crontab -u "$user" -l \ | sed '/^SHELL=/d' \ | crontab -u "$user" - done
Sonuç
Bu adımları tamamladıktan sonra DirectAdmin’in cron job’ları gerçek shell (bash/sh) ile çalışacak ve “couldn’t exec `/usr/bin/jailshell`” hatası tamamen ortadan kalkacaktır.