|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
FLAG_NAME=$1 |
|
|
|
|
|
FLAG_NULL=$2 |
|
|
|
|
|
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)} |
|
|
|
|
|
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" |
|
|
|
|
|
|
|
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 |
|
|
|
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 -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 |
|
|