#!/bin/bash # version 1 # output filename add FLAG_NAME=$1 # null FLAG_NULL=$2 # flag Key FLAG_KEY=$3 if [ -z "$FLAG_NAME" ] || [ "$FLAG_NAME" = " " ]; then FLAG_NAME="null" fi if [ -z "$FLAG_NULL" ]; then FLAG_NULL="null" fi if [ -z "$FLAG_KEY" ]; then FLAG_KEY="null" fi cd /workspace cd * R_PATH="$(pwd)" if [ ! -d "$R_PATH/CU" ]; then echo "CU folder not found." exit 101 fi MUID="" if [ -f "$R_PATH/CU/MUID.txt" ]; then MUID=$(<./CU/MUID.txt) MUID=${MUID%%+( )} MUID=${MUID%%+(\n)} #MUID_LEN=${#MUID} #MUID=${MUID:1:MUID_LEN-2} else RANDOM_STR1="$(head -c 128 /dev/urandom | tr -dc 'A-Z')ZZ" RANDOM_STR2="$(head -c 384 /dev/urandom | tr -dc 'A-Z0-9')ZZZZZZZZZZZZZZ" MUID="${RANDOM_STR1::1}${RANDOM_STR2::14}${RANDOM_STR1:1:1}" echo -e "$MUID" >> ./CU/MUID.txt fi if [ ! -f "$R_PATH/CU/autoUpload_Log.txt" ]; then touch ./CU/autoUpload_Log.txt fi if [ ! -f "$R_PATH/CU/autoUpload_UploadQueueIng.txt" ]; then touch ./CU/autoUpload_UploadQueueIng.txt fi if [ ! -f "$R_PATH/CU/autoUpload_UploadQueueDone.txt" ]; then touch ./CU/autoUpload_UploadQueueDone.txt fi OUPUT_PATH="" if [ -d "$R_PATH/output" ]; then OUPUT_PATH="output" elif [ -d "$R_PATH/outputs" ]; then OUPUT_PATH="outputs" elif [ -d "$R_PATH/CU/output" ]; then OUPUT_PATH="CU/output" elif [ -d "$R_PATH/CU/outputs" ]; then OUPUT_PATH="CU/outputs" else echo "output folder not found." exit 102 fi #echo "$FLAG_NAME $FLAG_NULL $FLAG_KEY $R_PATH $OUPUT_PATH $MUID" if [ "$FLAG_KEY" = "null" ]; then # enter when the user runs manually. apt-get install -y inotify-tools apt-get install -y zip pip3 install pcloud CURRNET_PID=$$ #kill -9 $(ps -ef | grep 'autoUpload' | grep -v 'grep' | awk '{print $2}') kill -9 $(ps -ef | grep 'autoUpload' | grep -v 'grep' | awk -v pid=$CURRNET_PID '$2 != pid {print $2}') kill -15 $(ps -ef | grep 'out.sh' | grep -v 'grep' | awk '{print $2}') kill -15 $(ps -ef | grep 'pcloud' | grep -v 'grep' | awk '{print $2}') FLAG_KEY="startDaemon" bash -c ". $R_PATH/autoUpload.sh $FLAG_NAME $FLAG_NULL $FLAG_KEY" elif [ "$FLAG_KEY" = "startDaemon" ]; then cd /workspace cd * FLAG_KEY="runningDaemon" chmod 755 autoUpload.sh nohup ./autoUpload.sh $FLAG_NAME $FLAG_NULL $FLAG_KEY 2>&1 & elif [ "$FLAG_KEY" = "runningDaemon" ]; then cd /workspace cd * while : do UT='0' uptime_minutes=$(awk '{print int($1/60)}' /proc/uptime) if [ "$uptime_minutes" -le 30 ]; then UT='0' elif [ "$uptime_minutes" -le 60 ]; then UT='1' elif [ "$uptime_minutes" -le 90 ]; then UT='2' elif [ "$uptime_minutes" -le 120 ]; then UT='3' elif [ "$uptime_minutes" -le 150 ]; then UT='4' elif [ "$uptime_minutes" -le 180 ]; then UT='5' elif [ "$uptime_minutes" -le 210 ]; then UT='6' elif [ "$uptime_minutes" -le 240 ]; then UT='7' elif [ "$uptime_minutes" -le 270 ]; then UT='8' elif [ "$uptime_minutes" -le 300 ]; then UT='9' else UT='Z' fi bash -c ". $R_PATH/out.sh 1 $FLAG_NAME$UT" sleep 288s for item in $(find . -name "outp_${FLAG_NAME}*.zip"); do rm -rf $item done sleep 10s done elif [ "$FLAG_KEY" = "clean" ]; then rm -rf "$R_PATH/CU/autoUpload_UploadQueueIng.txt" rm -rf "$R_PATH/CU/autoUpload_UploadQueueDone.txt" elif [ "$FLAG_KEY" = "kill" ]; then kill -15 $(ps -ef | grep 'autoUpload.sh' | grep -v 'grep' | awk '{print $2}') kill -15 $(ps -ef | grep 'out.sh' | grep -v 'grep' | awk '{print $2}') kill -15 $(ps -ef | grep 'pcloud' | grep -v 'grep' | awk '{print $2}') else : fi