File size: 3,716 Bytes
a038f47 |
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 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
#!/bin/bash
# version 1
# being undecided
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
MUIDL="${MUID::3}${MUID:13:3}"
OUPUT_PATH="SD/output"
OUPUT_PATH2="output"
#echo "$FLAG_NAME $FLAG_NULL $FLAG_KEY $R_PATH $OUPUT_PATH $MUID $MUIDL"
func_kill()
{
kill -9 $(ps -ef | grep 'autoUpload.sh' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'run.sh' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'webui' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'launch.py' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'gradio' | grep -v 'grep' | awk '{print $2}')
rm -rf /tmp/*
rm -rf $R_PATH/$OUPUT_PATH
rm -rf $R_PATH/$OUPUT_PATH2
for item in $(find . -name "output_${MUIDL}*.zip"); do
rm -rf $item
done
}
if [ "$FLAG_KEY" = "null" ]; then
# enter when the user runs manually.
kill -9 $(ps -ef | grep 'jupyter' | grep -v 'grep' | awk '{print $2}')
func_kill
apt-get install -y inotify-tools
apt-get install -y zip
pip3 install pcloud
CURRNET_PID=$$
#kill -9 $(ps -ef | grep 'xAutoRunTo5m' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'xAutoRunTo5m' | grep -v 'grep' | awk -v pid=$CURRNET_PID '$2 != pid {print $2}')
FLAG_KEY="startDaemon"
bash -c ". $R_PATH/xAutoRunTo5m.sh $FLAG_NAME $FLAG_NULL $FLAG_KEY"
elif [ "$FLAG_KEY" = "startDaemon" ]; then
cd /workspace
cd *
FLAG_KEY="runningDaemon"
chmod 755 xAutoRunTo5m.sh
nohup ./xAutoRunTo5m.sh $FLAG_NAME $FLAG_NULL $FLAG_KEY 2>&1 &
elif [ "$FLAG_KEY" = "runningDaemon" ]; then
cd /workspace
cd *
w1=0
w2=0
w3=0
while :
do
uptime_minutes=$(awk '{print int($1/60)}' /proc/uptime)
current_minute=$(date +%M)
if [ "$uptime_minutes" -ge 181 ]; then
func_kill
kill -15 $(ps -ef | grep 'xAutoRunTo5m.sh' | grep -v 'grep' | awk '{print $2}')
echo "kill xAutoRunTo5m"
exit 100
fi
if [ $(expr ${current_minute} % 5) -eq 0 ]; then
w2=0
if [ ${w1} -eq 0 ]; then
w1=1
chmod 755 run.sh
nohup ./run.sh 2>&1 &
sleep 50s
for item in $(find . -name "output_${MUIDL}*.zip"); do
rm -rf $item
done
fi
elif [ $(expr ${current_minute} % 5) -eq 4 ]; then
w1=0
if [ ${w2} -eq 0 ]; then
w2=1
sleep 50s
kill -9 $(ps -ef | grep 'run.sh' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'webui' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'launch.py' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'gradio' | grep -v 'grep' | awk '{print $2}')
rm -rf /tmp/*
bash -c ". $R_PATH/out.sh 1 $MUIDL && sleep 2 && rm -rf $R_PATH/$OUPUT_PATH && rm -rf $R_PATH/$OUPUT_PATH2"
sleep 1s
fi
fi
sleep 2s
done
elif [ "$FLAG_KEY" = "kill" ]; then
func_kill
kill -15 $(ps -ef | grep 'xAutoRunTo5m.sh' | grep -v 'grep' | awk '{print $2}')
echo "kill xAutoRunTo5m"
exit 100
else
:
fi
|