nos/run

46 lines
2.0 KiB
Bash

#!/bin/bash
finish=""; count=0; lim=15000;
while [ $count -lt $lim ]; do
finishcount=0;
pid=$(cat pid);
echo -n -e "${pid}\t"
url=$(./getlink);
# Pause execution if rate limit has been reached
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 60 (1)"; sleep 60; url=$(./getlink);
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 600 (2)"; sleep 600; url=$(./getlink);
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 1140 (3)"; sleep 1140; url=$(./getlink);
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 2940 (4)"; sleep 2940; url=$(./getlink);
fi; fi; fi; fi;
# The ./getlink checks for a 404.
# This continues a few post id's down to make sure it's really reached the end.
# The post id will not be incremented if there are five 404's in a row.
if [ "$url" = "error finish" ]; then echo -n " -finish- "; finishcount=$(( $finishcount + 1));
if [ "$(./getlink $(( $pid+1 )) )" = "error finish" ]; then echo -n " -finish- "; finishcount=$(( $finishcount + 1 ));
if [ "$(./getlink $(( $pid+2 )) )" = "error finish" ]; then echo -n " -finish- "; finishcount=$(( $finishcount + 1 ));
if [ "$(./getlink $(( $pid+3 )) )" = "error finish" ]; then echo -n " -finish- "; finishcount=$(( $finishcount + 1 ));
if [ "$(./getlink $(( $pid+4 )) )" = "error finish" ]; then echo -n " -finish- "; finishcount=$(( $finishcount + 1 ));
fi; fi; fi; fi; echo " -ok- ";
fi
echo "$url";
# If ./getlink returns the URL, then it matched the pattern and the returned URL is the fixed one so it posts a comment.
if [ $(echo "$url" | cut -d ' ' -f1) != "error" ]; then echo "POST IT"; $(./reply_post "$pid" "$url" > /dev/null); fi;
# The post id will not be incremented if there are five 404's in a row.
if [ $finishcount -gt 4 ]; then echo "finish counter: $finishcount"; sleep 60;
else
cmd="fwd"
if [ "$cmd" = "fwd" ]; then echo $(( $pid + 1 )) > pid; fi
if [ "$cmd" = "bck" ]; then echo $(( $pid - 1 )) > pid; fi
count=$(( $count + 1 ));
fi
done;