1

Эта проблема:

У меня есть несколько сайтов asp.net, размещенных на IIS (в местной хостинговой компании). Теперь, если никто не доступ к ним во время aprox. Через 20 минут IIS переходит в спящий режим, поэтому первый следующий запрос разбудит сервер, но это займет некоторое время, поэтому это очень раздражает пользователя.

Вопрос:

Как разбудить мои сайты, используя скрипт из моего dd-wrt?

Я думаю, что-то вроде отправки HTTP-запроса каждые X минут.

У меня нет знаний по написанию сценариев bash, если кто-то может мне помочь, я буду очень счастлив. Спасибо

Примечание: я не могу переписать основной конфиг IIS.

1 ответ1

1

Кажется, что вы хотите, чтобы что-то попадало на ваш сайт так часто, чтобы оно не спало. Это повлияет на вашу аналитику, но здесь идет:

keepitalive.sh

#!/bin/bash
# call this script with cronjob:
# 0,15,30,45 * * * * /home/username/keepsitealive.sh >/dev/null 2>&1
outdir=~/
cd $outdir
wget http://www.example.com/index.html
rm $outdir/index.html

Кронджоб

Для записи в cron (если у вас есть доступ к ней на маршрутизаторе dd-wrt; вы не знаете о них много), используйте что-то вроде этого:

0,15,30,45 * * * * /home/username/keepsitealive.sh >/dev/null 2>&1

Если у вас есть терминал для устройства (который включает в себя интерактивную оболочку ssh), вы обычно можете редактировать cron, запустив от имени суперпользователя crontab -e , но это может немного зависеть от того, какой именно Linux он использует.

Быстрое объяснение cronjob, которое я перечислил здесь для вас:

0,15,30,45    #minutes during each hour. So every 15 minutes.
* (first one) #every hour
*             #every day-of-month
*             #every month
*             #every day-of-week (usually not used when day-of-month is used, for example)
/home/user/keepitalive.sh #the command. Can be a series of shell commands and not just a script. Separate commands with a semicolon ; and keep them all on the same line.
> /dev/null   #after a command: redirects stdout to null-device (hides output) because if you don't, superuser will get emails and it's annoying.
2>&1          #sends stderr to same place as stdout, which you probably want pointing to /dev/null. This suppresses error messages from hitting superuser email.

Для подробного изучения cron используйте google. Вот ссылка, с которой можно начать: http://www.unixgeeks.org/security/newbie/unix/cron-1.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .