yedekleme yaparken kullanılabilecek faydalı komutlar

Bulunduğu çalışma dizininden başlayarak, boş alt klasörleri bulup silmek için;

find . -type d -empty -exec rmdir {} ;

İçeriği değiştirilmiş dosyaları bulmak için ;

find / -mmin 30 -type f (Son 30 dakika içinde değişenler)

find / -mtime -1  -type f (Son 24 saat içinde değişenler)

Bütün MySQL veritabanlarını kendi adlarında yedeklemek için;

for I in `echo “show databases;” | mysql | grep -v Database`; do mysqldump $I > “$I.sql”; done

A klasöründe bulunan dosyaları B klasöründen silmek için (yanlışlıkla açılan arşiv dosyaları) ;

for dosya in /*; do rm /`basename $dosya`; done

Uzaktaki web sunucusundaki dosyanın bulunup bulunmadığını kontrol etmek için ;

wget –spider -v http://www.google.com/robots.txt

Hard Disk model ve seri numarası bilgisini almak için;

hdparm -i /dev/sda1

GB,MB,KB ve Byte olarak, ağaç yapısında klasörlerin listelenmesi için;

du -b –max-depth 1 | sort -nr | perl -pe ‘s{([0-9]+)}{sprintf “%.1f%s”, $1>=2**30? ($1/2**30, “G”): $1>=2**20? ($1/2**20, “M”): $1>=2**10? ($1/2**10, “K”): ($1, “”)}e’

En fazla hafıza kullanan 10 işlemi ve detaylarını görmek için (top ve htop ile daha güzel sonuçlar alınabilir);

ps aux | sort -nk +4 | tail

[commandlinefu’ya teşekkürler]

klasor boyutlari

Kullanıcıların posta kutusunun boyutunu listelemek için (Maildir) kullanılabilir;

du -h /home/kullanicilar | awk ‘$1 ~/M/ {sub(/M/, “Mb”); print $0}’ | awk ‘$2 ~/.Maildir$/{print $0}’|sort -n

20Mb den büyük dosyaları listelemek için

find / -type f -size +20000k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’

Klasörde dosya isimlerindeki boşlukları ve büyük harfleri düzeltmek için;

#!/bin/bash
for f in *; do
file=$(echo $f | tr A-Z a-z | tr ‘ ‘ _)
[ ! -f $file ] && mv “$f” $file
done