20 lines
770 B
Bash
Executable File
20 lines
770 B
Bash
Executable File
#!/bin/sh -e
|
|
# Test disk performance
|
|
# Adapted from https://www.shellhacks.com/disk-speed-test-read-write-hdd-ssd-perfomance-linux/
|
|
test "$1" = "-w" && write=true && shift
|
|
disk="${1:-$(df --output=source . | tail -1)}"
|
|
if test "$write"
|
|
then exec &> >(tee "disktest-$(date +%F)")
|
|
fi
|
|
# Needs sudo for read test
|
|
sudo hdparm -MWAgt "$disk"
|
|
if test $# -eq 0
|
|
then echo "Write test:"
|
|
sync
|
|
# This prevents predictions by using random, but since that is too slow we have to copy a previously created file
|
|
# sudo dd status=progress if=/dev/random of=/var/tmp/tempfile bs=1M count=1K && sudo dd status=progress if=/var/tmp/tempfile of=tempfile bs=1M count=1K
|
|
# TODO adjust size to disk
|
|
sudo dd status=progress if=/dev/zero of=tempfile bs=1000K count=1000
|
|
sudo rm tempfile
|
|
fi
|