#!/bin/bash
# ganti ke yang lebih sesuai, mendekati ukuran harddisk
NUM_GIGS=200
function cleanup {
echo "Cleaning up ..."
rm -f 100MB 1GB 1GB.[0-9] 1GB.[0-9]*[0-9]
}
trap cleanup EXIT
iter=0
while true; do
iter=$[$iter+1]
echo "Iteration $iter"
echo "Writing 100MB of random data ..."
dd if=/dev/urandom of=100MB bs=100k count=1024
echo "Creating 1GB ..."
cat 100MB 100MB 100MB 100MB 100MB \
100MB 100MB 100MB 100MB 100MB > 1GB
i=1
while [[ i -lt NUM_GIGS ]]; do
i=$[$i+1]
echo "Creating 1GB.$i ..."
cp 1GB 1GB.$i
done
cleanup
done
Skrip ini dapat digunakan untuk mengetes harddisk. Cara kerja skrip ini yaitu dengan melakukan random write pada harddisk secara terus-menerus. Anda lalu dapat mengamati lewat /var/log/messages apakah ditemukan error.
Cara penggunaan
Ketik/copy-paste dan “chmod +x” skrip tersebut. Misalnya skrip ada di /root dan diberi nama ‘testwrite’.
# cd /root
# chmod +x testwrite
Jalankan skrip tersebut pada partisi yang ingin dites. Contoh, Anda ingin mengetes partisi / (misalnya ini adalah /dev/sda1) dan partisi /backup (misalnya ini adalah /dev/sdb1).
# cd /
# /root/testwrite
# cd /backup
# /root/testwrite
Bisa saja skrip dijalankan bersamaan untuk tiap partisi.
Setelah itu coba amati di console lain apakah ada error yang muncul:
# tail -f /var/log/messages
Edit nilai NUM_GIGS pada skrip jika ukuran harddisk berbeda. Sebagai patokan kasar, gunakan nilai sekitar 200-220 untuk harddisk 250GB (mengetes sekitar 80-90% disk).
Jika ingin keluar dari skrip, tekan Ctrl-C.