Как отключить сайт в определенное время (РНР)

Иногда возникает необходимость отключить сайт в определенное время или на определенное время. Например, может возникнуть необходимость выключить сайт на 15 минут или на час, чтобы выполнить некоторые задачи с помощи cron. Лично я столкнулся с такой необходимостью, когда на одном проекте где горячей таблице на 9 миллионов записей возникла необходимость собрать статистику. На рабочем сайте с сотней пользователей онлайн собирать статистику нельзя - слишком большая нагрузка на БД. А вот если выключить сайт ночью на 15 минут, то все будет быстро и красиво.

 

Пример код:

 

$h = (int)date('G'); // часы в формате от 0 до 23 без ведущего нуля
$i = (int)date('i'); // минуты в формате от 0 до 59 без ведущего нуля

if (isset($_SERVER['HTTP_HOST']) && $h == 2 && $i < 15 )  { // проверка переменной $_SERVER['HTTP_HOST'] нужна для того, чтобы отрезать только пользовательские запросы и не мешать запросам cron
 include __DIR__ . '/under_constuction_cron.php'; // заглушка
 exit; 
} // Отключение сайта с 2 часов ночи до 2:15

 

Мои PET-проекты
Матч Шредингера. Про футбол без спойлеров. Сервис помогает выбрать интересный матч для просмотра в записе. Перейти »
MafiozZz. Сервис для тех, кто любит играть в мафию. Сервис дает клубам возможность завести клубный сайт, предоставляет удобный интерфейс для ведения подобной статистики, расписания игр, выдавать игрокам награды, проводь адресную SMS рассылку (и прочие плюшки). Перейти »