Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- function usage {
- if [ ! -z "$1" ]; then
- echo $1
- fi
- echo "$(basename $0) [-h] [-n nb_gzip_files]"
- exit 0
- }
- while getopts 'n:h' opt; do
- case $opt in
- n)
- OPTSFOUND=1
- NBGZIPFILES=${OPTARG}
- ;;
- h)
- OPTSFOUND=1
- usage
- ;;
- \?)
- usage "Invalid option"
- ;;
- esac
- done
- shift $(( $OPTIND-1 ))
- if [ -z "${NBGZIPFILES}" ]; then
- NBGZIPFILES=10
- fi
- DDOF=file2gzip.$$
- DDCMD="dd if=/dev/urandom of=${DDOF} bs=1024 count=100000"
- DISKFREE=$(df -mP . | tail -n 1 | awk '{print $4}')
- DISKNEEDED=$[NBGZIPFILES*100]
- if ((DISKNEEDED > DISKFREE)); then
- echo "Not enough disk space ${DISKNEEDED}m required"
- df -hP .
- exit 1
- fi
- echo "Dumping random file"
- ${DDCMD} &
- DDPID=$!
- while [ ! -z "$(ps -eaf | grep -v grep | grep ${DDPID})" ]
- do
- kill -USR1 ${DDPID}
- echo "----------------------"
- sleep 3
- done
- for ((i=0;i<NBGZIPFILES;i++))
- do
- gzip -9 ${DDOF} -c > ${DDOF}.$i.gz &
- done
- while [ ! -z "$(ps -eaf | grep -v grep | grep ${DDOF})" ]
- do
- clear
- uptime
- echo "----------------------------------------------------------------------"
- ls -lh ${DDOF}.*
- sleep 5
- done
- rm -f ${DDOF}*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement