硬體亂數產生器腳本
腳本簡介
透過此腳本可以透過使用者自行設定,要花多長的時間來產生亂數,並上傳到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