過去XX日分のファイルを作成

$ bash -version | head -n 1
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)

やりたいことは
・過去XX日分のLOGファイルを作成したい
・作成日を過去の日付にしたい
・ファイルサイズを指定して作成したい
ようはテストデータの作成を想定したものです。

ログファイルの作成 - ファイルサイズ=0で良い場合

LOG_HOME=./log/
# 今日の日付から指定した日数にたいして、日々1ファイル作成する
# 今日の日付のファイルも作成します。※iの初期値が=0のため
# 作成ファイルのフォーマット:YYYYMMDD_dummy.tmp
for ((i=0; i <= 10; i++))
do
  WK_DATE=`date --date "-${i} day " "+%Y%m%d"`
  FILENAME=${WK_DATE}_dummy.tmp
  touch ${LOG_HOME}${FILENAME} -t ${WK_DATE}0000

  #echo ${FILENAME}"_dummy.tmp"
  echo Create file - ${LOG_HOME}${FILENAME}
done

ログファイルの作成 - ファイルサイズを指定して作成

LOG_HOME=./log/
# 今日の日付から指定した日数にたいして、日々1ファイル作成する
# 今日の日付のファイルも作成します。※iの初期値が=0のため
# 作成ファイルのフォーマット:YYYYMMDD_dummy.tmp
# 容量1Mのファイを作成する
for ((i=0; i <= 3; i++))
do
  WK_DATE=`date --date "-${i} day " "+%Y%m%d"`
  FILENAME=${WK_DATE}_dummy.tmp

  # メッセージを破棄しています。
  dd if=/dev/urandom of=${LOG_HOME}${FILENAME} bs=1M count=1 > /dev/null 2>&1

  touch ${LOG_HOME}${FILENAME} -t ${WK_DATE}0000

  echo ${LOG_HOME}${FILENAME}
done

この記事が気に入ったらサポートをしてみませんか?