sdcardtester als Scriptbeispiel.
This commit is contained in:
59
teil15/sdcardtester
Executable file
59
teil15/sdcardtester
Executable file
@@ -0,0 +1,59 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
MOUNTPOINT='/mnt/speedtest'
|
||||
|
||||
# number of threads used during testing
|
||||
nproc=4
|
||||
|
||||
if [ "$EUID" -ne 0 ]
|
||||
then echo "Please run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${1}" ]; then
|
||||
DEVICE=${1}
|
||||
PARTITION=${DEVICE}1
|
||||
echo "using device ${DEVICE}"
|
||||
else
|
||||
echo "using default device ${DEVICE}"
|
||||
fi
|
||||
|
||||
# check if sd card is inserted
|
||||
if [ -e ${DEVICE} ]; then
|
||||
echo "card inserted"
|
||||
else
|
||||
echo "no sd card found"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "deleting partion #1"
|
||||
sfdisk --delete -w ${DEVICE} 1 && sync
|
||||
|
||||
echo "creating new ext4 partition"
|
||||
echo ",," |sfdisk ${DEVICE} && sync
|
||||
|
||||
echo "creating ext4 filesystem on ${PARTITION}"
|
||||
echo "y" |mkfs.ext4 ${PARTITION}
|
||||
|
||||
#check if mount point is available, create otherwise
|
||||
if [ ! -d "${MOUNTPOINT}" ]; then mkdir "${MOUNTPOINT}"; fi
|
||||
mount -t ext4 "${PARTITION}" "${MOUNTPOINT}"
|
||||
cd "${MOUNTPOINT}"
|
||||
echo "preparing tests"
|
||||
sysbench fileio --file-total-size=8G prepare > /dev/null
|
||||
|
||||
# Test with 16K block size, random read/write
|
||||
echo "run test with 16K block size"
|
||||
sysbench fileio --file-block-size=16K --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run
|
||||
|
||||
# Test with 1M block size, random read/write
|
||||
echo "run test with 1M block size"
|
||||
sysbench fileio --file-block-size=1M --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run
|
||||
|
||||
# cleanup the test files
|
||||
echo "cleaning up test files"
|
||||
sysbench fileio --file-total-size=8G cleanup
|
||||
cd - >/dev/null
|
||||
umount ${PARTITION}
|
||||
|
||||
|
Reference in New Issue
Block a user