#!/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.