CUXL / autoUpload.sh
zuv0's picture
Update autoUpload.sh
93ce4a4 verified
#!/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