硬體亂數產生器腳本

腳本簡介

透過此腳本可以透過使用者自行設定,要花多長的時間來產生亂數,並上傳到Google Drive

並且可以知曉,結束產生後,整體檔案的大小

產生的檔案預設,放在當前腳本的路徑,png_data 目錄底下

上傳到雲端的部分,是使用rclone進行上傳的動作

使用方法

腳本名稱後面接秒數,例如底下的範例 60 就等於 60秒,以此類推

欲產生一小時的檔案請填寫 3600 秒

sh 腳本名稱 時間
sh run_random_png.sh 60

註意!! 如不需使用到,或是沒安裝rclone功能的話,把rclone該行程式碼,註解或刪除掉即可

程式碼

核心程式碼,主要是透過$(date +%s)來達成計算時間的功能

#!/bin/bash
##第一個參數請輸入時間
START=$(date +%s)
DIFF=0
if [ ! $1 ]; then
echo "請輸入執行時間"
else
if [ -d "./png_data" ]; then
# 目錄 /png_data 存在
echo "目錄已存在"
echo "執行中..."
else
# 目錄 /png_data 不存在
echo "目錄不存在"
mkdir png_data
echo "創建完畢"
echo "執行中..."
fi
cd png_data
basepath=$(cd `dirname $0`; pwd)
while [ $DIFF -lt $1 ] 
do
END=$(date +%s)
DIFF=$(( $END - $START ))
cat /dev/hwrng  | rawtoppm -rgb 256 256 | pnmtopng > random$(date +%Y%m%d%H%M%S).png
echo "總執行時間 $DIFF 秒"
done

echo "總執行時間 $DIFF 秒"
Size=$(du -hs $basepath | cut -c 1-4)
echo "目錄大小 ${Size}"
echo "上傳到google drive中..."
rclone -v sync $basepath asia:/Random_PNG ##上傳到google drive
echo "上傳完畢!!"
fi
Last modification:December 8, 2019
If you think my article is useful to you, please feel free to appreciate