File size: 2,582 Bytes
9d4ad59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/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/SD" ]; then
  echo "SD folder not found."
  exit 101
fi

MUID=""

if [ -f "$R_PATH/SD/MUID.txt" ]; then
  MUID=$(<./SD/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" >> ./SD/MUID.txt
fi

if [ ! -f "$R_PATH/SD/autoUpload_Log.txt" ]; then
  touch ./SD/autoUpload_Log.txt
fi

if [ ! -f "$R_PATH/SD/autoUpload_UploadQueueIng.txt" ]; then
  touch ./SD/autoUpload_UploadQueueIng.txt
fi

if [ ! -f "$R_PATH/SD/autoUpload_UploadQueueDone.txt" ]; then
  touch ./SD/autoUpload_UploadQueueDone.txt
fi

OUPUT_PATH=""

if [ -d "$R_PATH/output" ]; then
  OUPUT_PATH="output"
elif [ -d "$R_PATH/SD/output" ]; then
  OUPUT_PATH="SD/output"
elif [ -d "$R_PATH/CU/output" ]; then
  OUPUT_PATH="CU/output"
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}')
  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
    bash -c ". $R_PATH/out.sh 1 $FLAG_NAME"
    sleep 288s
    for item in $(find . -name "output_${FLAG_NAME}*.zip"); do
      rm -rf $item
    done
    sleep 10s
  done
elif [ "$FLAG_KEY" = "clean" ]; then
  rm -rf "$R_PATH/SD/autoUpload_UploadQueueIng.txt"
  rm -rf "$R_PATH/SD/autoUpload_UploadQueueDone.txt"
elif [ "$FLAG_KEY" = "kill" ]; then
  kill -15 $(ps -ef | grep 'autoUpload.sh' | grep -v 'grep' | awk '{print $2}')
else
  :
fi