Open hitagi159753 opened 4 years ago
用crontab自动运行
我给你写了个脚本linux,保存为sh可运行。
echo -ne "\033[?25l" app_name=xxxx #软件名称(写需要启动的软件名称) app_path=./ #软件路径 username=xxxxxxx #用户名(xxx替换为自己的) passwd=xxxxxxx #密码(xxx替换为自己的) t_min_h=75 #间隔最小时间(75为7.5小时) t_max_h=80 #间隔最大时间(80为8小时)
function start() { exec $app_path$app_name --appname=$app_name >/dev/null 2>&1 &
#echo -ne "正在启动..... "
#sleep 10
echo -ne "\033[1A"
echo -ne "\r \r" #清除本行文字
}
function kill_PROCESS()
{
ps -aux | grep $app_name | grep -v grep | awk {'print $2'} | xargs kill -2
}
function random() { min=$1; max=$2-$1; num=$(date +%s+%N); ((retnum=num%max+min)); echo $retnum; }
main()
{
t_min=$(($t_min_h606))
t_max=$(($t_max_h606))
cd dirname $0
count=0
while [ 1 ] ; do
propserverpid=ps -aux | grep $app_name | grep -v grep | awk {'print $2'}
if [ ! "$propserverpid" ]
then
seconds_left=$(random t_min t_max)
dd=date '+%Y-%m-%d %H:%M:%S'
dd2=date -d "$dd" '+%Y-%m-%d %H:%M:%S'
dd3=date -d "$dd2" '+%s'
dd3=expr $dd3 + $seconds_left
time=$(date -d "1970-01-01 UTC "$dd3" seconds" +"%Y-%m-%d %H:%M:%S")
start
echo "======================================================="
echo "刷新次数 :${count} "
echo "程序启动 :${dd}"
echo "下次刷新 :${time}"
while [ $seconds_left -gt 0 ];do
dd5=date '+%Y-%m-%d %H:%M:%S'
hh=$(($seconds_left/60/60))
mm=$((($seconds_left-($hh6060))/60))
ss=$(($seconds_left-($hh6060)-($mm*60)))
echo "系统时间 :${dd5} "
echo "运行剩余 :${hh}h ${mm}m ${ss}s (共计:${seconds_left}秒) "
sleep 1
seconds_left=$(($seconds_left - 1))
echo -ne "\033[1A"
echo -ne "\r \r" #清除本行文字
echo -ne "\033[1A"
echo -ne "\r \r" #清除本行文字
done
count=$(($count + 1))
else
dd4=date '+%Y-%m-%d %H:%M:%S'
kill_PROCESS
echo "程序结束 :${dd4}"
echo "======================================================="
sleep 600
fi
done
}
main
搞了个服务器,想挂着一劳永逸,结果过了0点还得自己手动关闭软件再打开,白天试试用计划任务能不能搞