生成随机大小的临时文件

生成随机大小的临时文件

程序测试中需要在每个计算节点的临时目录下生成临时文件,临时文件的大小随机,以验证程序的正确和健壮性。

用dd命令可以生成的临时文件:

dd if=/dev/urandom of=/tmp/data.bin bs=1M count=$RANDOM

RANDOM变量会返回一随机非负整数(参考 how-to-generate-random-number-in-bash)。Random Entropy in Bash 该博客提供一个更为随机的方式,采用该方法(gen_tmp_file.sh)

#!/bin/bash

if [ -z ${TEST_TMPDIR} ]; then
	echo "need to set  TEST_TMPDIR"
	exit 1	
fi

A=${1:-10000}
B=${2:-10000}

RANDOM=$(date +%s%N | cut -b10-19)

COUNT=$(($A+$RANDOM%$B))

#COUNT=10000

echo "COUNT=$COUNT"


mkdir -p ${TEST_TMPDIR}/

rm -f ${TEST_TMPDIR}/*

dd if=/dev/urandom of=${TEST_TMPDIR}/data.bin bs=1M count=$COUNT

ls -l ${TEST_TMPDIR}/data.bin

该脚本首先会清理临时路径下的所有内容,脚本接收两个输入参数$1和$2 以随机生成count, 在TEST_TMPDIR路径下生成data.bin文件,文件内容随机,文件长度计算公式 c o u n t = A + r a n d o m % B count=A+random\%B count=A+random%B !

在N个计算节点上批量生成临时文件

srun -N 32 ./gen_tmp_file.sh

清理/tmp路径下的临时文件,腾出空间

clean_tmp.sh

#!/bin/bash
find /tmp -type f -user xxxx 2>/dev/null | xargs rm -f 

批量执行

srun -N 32 ./clean_tmp.sh
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值