/bin/bash^M: bad interpreter: No such file or directory hatası ve çözümü

Bazı bash scriptleri çalıştırmak isterken /bin/bash^M: bad interpreter: No such file or directory hatası alabilirsiniz , benim başıma gelme sebebi scripti windows ortamında hazırlayıp linux e indirerek çalıştırma denemem sonucunda oluştu. Çözüm için bash scriptinizi vi editörü ile açınız , aşağıdaki satırı yapıştırıp yine esc ve :wq ile kaydedip çıkınız  i şimdi bash scriptiniz çalışacaktır

:set fileformat=unix

Linux’te en çok dosya barındıran 10 klasörün tespiti (inode)

Aşağıdaki bash scripti kullanabiliriz.

Kullanımı aşağıdaki bash scripti bir dosyaya yazın , örneğin   nano inode.sh  , içeriği yapıştırın , ctrl +x ile kaydedin , chmod +x inode.sh ile çalıştırma izni verin , sonra ./inode.sh /home şeklinde kullanabilirsiniz.

#!/bin/bash
 
if [ $# -ne 1 ];then
  echo "Usage: `basename $0` DIRECTORY"
  exit 1
fi
 
echo "Lutfen sonucu gormek icin biraz bekleyin... Ayhan ARDA..."
 
find "$@" -type d -print0 2>/dev/null | while IFS= read -r -d '' file; do 
    echo -e `ls -A "$file" 2>/dev/null | wc -l` "files in:\t $file"
done | sort -nr | head | awk '{print NR".", "\t", $0}'
 
exit 0

 

Sonuç aşağıdaki gibi gözükecektir.

root@ayhanarda:~# ./inode-arda.sh /home
Lutfen sonucu gormek icin biraz bekleyin… Ayhan ARDA…
1. 18507 files in: /home/orneksite/httpdocs/resimler/urun
2. 9370 files in: /home/orneksite2/httpdocs/images/resimler201203
3. 8729 files in: /home/orneksite3/httpdocs/urunler
4. 4828 files in: /home/orneksite4/httpdocs/wp-content/uploads
5. 4699 files in: /home/orneksite5/httpdocs/testi/images
6. 3162 files in: /home/orneksite6/httpdocs/Galeri/Foto
7. 2715 files in: /home/orneksite7/httpdocs/media/k2/users
8. 2250 files in: /home/orneksite8/httpdocs/deneme/par
9. 2230 files in: /home/orneksite9/tmp
10. 2039 files in: /home/orneksite10/tmp

 

Ayhan ARDA

Load Kontrol ve Servisleri Yeniden Başlatmak

Aşağıdaki bash script i crontab a ekleyip belirlediğiniz sürelerde çalışmasını sağlar iseniz bu sürelerde load ları kontrol eder ve load yükselmesine neden olan servisi restart eder.

#/usr/bin/!

load=”

20

degisken

=`top -b -n 1 | head -n 10 | grep average | awk ‘{print $12}’ | cut -d, -f1 | cut -d. -f1`

if [ “$

degisken

” -ge “$load” ]

then

echo “

Son islem zamani: `date`” >> /var/log/restart.load

service named restart

service httpd restart

service mysql restart

service exim restart

service pure-ftpd restart

fi