Здравствуйте! Пытаюсь запустить скрипт на автопродление доступа в интернет. Тема эта обсуждалась Bash скрипт для Yota, или вот http://arduino.ru/forum/obshchii/ofitsialnyi-besplatnyi-internet-ot-yota-dlya... но у меня почему то не получается. На борту OpenWrt Chaos Calmer 15.05 / LuCI (git-15.248.30277-3836b45), сеть настроена, пакеты «curl» «bash» «wget» установлены. Скрипт check_yota.sh написан и находится в папке /root/
#!/bin/sh
edate=`date`
checkhost=ya.ru
useragaent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0"
COMMANDACCESS="accept_lte=1&redirurl=$checkhost%2F&connection_type=sa&service_id=Service_Access_Temp"
CHECK="/usr/bin/curl -A "\"$useragaent\"""
#CHECK="/usr/bin/wget -U \"$useragaent\""
COMMANDCHECK="$CHECK -s -I $checkhost"
#COMMANDCHECK="$CHECK -S --spider $checkhost"
SCRIPTRUN="$CHECK --data \"$COMMANDACCESS\" http://hello.yota.ru/php/go.php"
#SCRIPTRUN='$CHECK --post-data \"$COMMANDACCESS\" http://hello.yota.ru/php/go.php"
#if [ $($COMMANDCHECK | grep -Ec 'HTTP/1\.1 301|HTTP/1\.1 302') -gt 0 ];
if [ $($COMMANDCHECK | grep -Ec 'http://hello.yota.ru') -gt 0 ];
then
echo "----- Check start "$edate" -----";
eval "$SCRIPTRUN"
echo "----- Check end "$edate" -----\n";
fi
В планировщике написана задача root -> /etc/crontabs/
*/1 * * * * /bin/sh /root/check_yota.sh >> /root/log
*/1 * * * * /bin/sh /root/check_yota.sh >> /root/log
Проблема со скриптом я так думаю.
при вызове через SSH: sh -x check_yota.sh
root@OpenWrt:~# sh -x check_yota.sh
+
: not foundsh: line 1:
+ date
+ edate=Sat Apr 13 17:54:53 MSK 2019
+ checkhost=google.com
+ useragaent=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
&connection_type=sa&service_id=Sliders_Free_Temp%2Fwww.google.com
+ CHECK=/usr/bin/curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/201"0101 Firefox/36.0
+
: not foundsh: line 1:
+ COMMANDCHECK=/usr/bin/curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Ge -s -I google.comfox/36.0
+
: not foundsh: line 1:
+ SCRIPTRUN=/usr/bin/curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko" http://hello.yota.ru/php/go.phpiders_Free_Tempgoogle.com
+
: not foundsh: line 1:
check_yota.sh: line 22: syntax error: unexpected "fi" (expecting "then")
Прописывая команду:
/usr/bin/curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0" --data "accept_lte=1&redirurl=ya.ru%2F&connection_type=sa&service_id=Service_Access_Temp" http://hello.yota.ru/php/go.php
Получаю все ок, интернет включается:
root@OpenWrt:~# /usr/bin/curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) G
ecko/20100101 Firefox/36.0" --data "accept_lte=1&redirurl=ya.ru%2F&connection_ty
pe=sa&service_id=Service_Access_Temp" http://hello.yota.ru/php/go.php
<!DOCTYPE html>
<html lang="ru-RU">
<head>
<title>Пожалуйста подождите...</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="//hello.ystat.ru/css/common.css" media="all">
<link rel="stylesheet" type="text/css" href="//hello.ystat.ru/css/style.css" media="all">
<link rel="stylesheet" type="text/css" href="//hello.ystat.ru/fonts/stylesheet.css" media="all">
<!--[if lt IE 9]>
<link rel="stylesheet" href="//hello.ystat.ru/css/ie8.css" media="screen" />
<![endif]-->
</head>
<body>
<div class="l-outer">
<div class="l-header">
<div class="l-header-inner">
<div class="b-lang-selector">
<!--<ul id="localeSwitcher">
<li class="active">
<a href="./?locale=ru">RU</a>
</li>
<li>
<a href="./?locale=en">EN</a>
</li>
</ul>-->
</div>
<div class="b-logo">
<img src="//hello.ystat.ru/i/logo.png" alt="Yota" />
</div>
</div>
</div>
<div class="l-header-shadow"></div>
<div class="l-content">
<div class="b-content-shadow"></div>
<div class="b-content-text">
<div class="b-content-longtext">
<p>Пожалуйста подождите...</p>
</div>
</div>
<div class="b-shadow-line"></div>
<div class="b-image">
<img src="//hello.ystat.ru/i/big/try-again.png" alt="" />
</div>
</div>
</div>
<div class="l-footer">
<div class="b-footer-phrase">Вопросы? Позвоните: 8 800 700 55 00</div>
<div class="b-footer-inner">
<div class="b-footer-inner-line">
<div class="b-footer-copyright">© Yota. Все права защищены.</div>
<div class="b-footer-logo">
<img src="//hello.ystat.ru/i/b-footer-logo.png" alt="Yota" />
</div>
</div>
</div>
</div>
<script type="text/javascript">
setTimeout(function() {
window.location = 'ya.ru/';
}, 5000)
</script>
</body>
Что я неправильно делаю? Файлы находятся здесь: https://yadi.sk/d/1b3xkSUuBm4AdQ