Мои проекты:

- Привет! Я Шикарно
- Моя миссия - облегчить тебе жизнь!
Пообщаться со мной:
cude@bk.ru
Полностью бесплатно!
Свяжитесь со мной для получения Шикарно.

Шикарно это панель управления для скриптов, работающих в фоновом режиме (скрипты могут находиться на разных сайтах).

Описание

Запускать скрипты через cron это прошлый век. Разумеется, пока у вас парочка скриптов в 10 строчек, которые однажды были написаны, отлажены и работают как часы не первый год, крона вполне достаточно. Но если скриптов уже больше, и они периодически работают не так как надо (в интернете ничего не работает на 100% :(), контролировать ситуацию становится сложнее. А если у вас 5 таких сайтов, и каждый надо держать под контролем. А если вам надо еще и делами заниматься ... :)




Преимущества перед запуском через cron:

  • при разработке и отладке:
    • быстрый и удобный просмотр логов (в том числе многометровых)
    • Не нужно постоянно сидеть в putty или по сто раз скачивать лог через фтп.
    • Не нужно разбираться в мешанине html тегов. Лог отображается через браузер, все выглядить чисто и красиво.
    • удобный поиск
    • ручной запуск чтобы проверить как все работает. При использовании крона, отладка превращается в постоянную беготню из одного окна в другое.
  • при использовании:
    • видно, какие скрипты работаю в данный момент
    • видно, в каких возникли проблемы и что это за проблемы (даже не нужно смотреть лог)

Режимы запуска скриптов:

  • в определенное время
  • через интервал
  • руками (удобно при написании и отладке)
  • режим энержайзер: если скрипт завис, он перезапускается

И еще

  • Из одной панельки можно контролировать скрипты на разных сайтах.
  • API для интеграции в ваши скрипты
  • Все скрипты под рукой, с описаниями и сгруппированы по вкладкам.
  • Для каждого запуска скрипта, создается отдельный лог с датой запуска и остановки процесса. Что позволяет определить когда и что пошло не так.
  • Старые логи удаляются автоматом. Больше не будет ситуации, когда сервер перестает работать потому что жесткий диск забит, из-за "яй б..., опять забыл логи почистить"
  • Панелька приправлена модным ajax-ом

Я сам, когда для нового сайт нужно написать скрипт работающий в фоне, первым делом ставлю Шикарно. Привык к комфорту :) (отлаживать скрипты под кроном еще тот мазахизм).

Как это работает


Шикарно может быть установлен как на одном сайте, так и на нескольких. В качестве основного сайт можно использовать даже Денвер запущенные из Windows (запускать скрипты в фоне,чтобы они работали прямо на дервере, пока нельзя)

Сron_control.php не обязательно ставить на крон. В этом случае, скрипты просто не будут запускаться автоматически.

Как добавить скрипт

Просто прописываете в начале скрипта:

<?php
//for_run_shikarno
include "абсолютный_путь_до_shikarno/reg_potok.php";
?>
Затем добавляете скрипт в панельку и используете :)
Если выбран метод запуска через php, все пути в скрипте должны быть абсолютными. Как узнать абсолютный путь до папки где лежит скрипт: <?php
$script_folder 
realpath(".");
?>

Безопасность

На основную папки shikarno через .htaccess ставится пароль, а также разрешается доступ по ипу основного сайта.

Control.php
  • перед работой в самом скрипте проверяется ключ, переданный от cron_control.php. Ключ шифруется, перехватывать бесполезно.
  • защита от запуска скриптов не предназначенных для этого. Проверяет, есть ли в скрипте метка //for_run_shikarno
  • режим для параноиков. Перед запуском проверяет, есть ли имя скрипта в файле white.txt (чтобы изменить его нужен фтп доступ). Файл лежит на сайте где запускается скрипт.
  • естественно проверяем, чтобы путь до php или wget был действительно путем, скрипт должен находиться в директории сайт, путь до лога ведет в папку process_logs

process_logs, view_log.php Так как на папку поставлен пароль, доступ есть только у Вас.

Настройки хостинга

Для работы Шикарно нужны определенные настройки. На vps, vds и своих серверах он понятное дело работать будет (если что, настройки можно поменять). А вот с виртуальным хостингом косяк, может работать а может и нет.

Чтобы упростить задачу, я написал скрипт который проверяет настройки и делает тестовый запуск.

Как запустить тест
  1. Скачайте shikarno_test.rar, создайте папку shikarno в корневом каталоге сайта, залейте туда содержимое архива.
  2. Установите права доступа 777 к папке shikarno/process_logs (например через total commander: меню Files->Change Attributes)
  3. Запустите shikarno/hosting_test.php
Что проверяет тест:
  1. php5
  2. safe_mode = off
  3. разрешение на запуск exec()
  4. определяет путь до php, wget. Пробует запустить через них тестовый поток.

Протестированные Shared хостинги

  1. agava.ru (через wget)
  2. www.2x4.ru (через php)

Shared хостинги, где не будет работать

Обратите внимание, речь идет только об услуге shared(виртуальный) хостинг. Vps и сервера этих хостеров к ним не относятся

  1. hostlife.net

Установка

Установка на основной сайт (там где будет панель управления)
  1. Создайте папку shikarno в корневом каталоге сайта, залейте содержимое архива.
  2. Установите права доступа 777 на папку process_logs (например через total commander: меню Files->Change Attributes)
  3. Запустите скрипт hosting_test.php. Если все ок, двигаемся дальше.
  4. В glob_config.php укажите настройки для доступа к базе mysql, а также ключ (случайная строка из любых символов)
  5. Запустите shikarno/create_db.php
  6. Поставьте пароль на папку shikarno с помощью shikarno/.htaccess (не обязательно, но крайне желательно). Если не знаете как это сделать, прочитайте статью. Если влом париться, обращайтесь в тех.поддержку, поможем.
  7. Зайдите в панельку и добавьте сайт: меню Сайты->добавить
Установка на дополнительные сайты

Там панелька не нужна, только управляющие скрипты и папка с логами. Доступ к БД и cron тоже не нужен

  1. Создайте папку shikarno в корневом каталоге сайта, залейте содержимое архива (папку panel можно не заливать)
  2. Установите права доступа 777 на папку process_logs (например через total commander: меню Files->Change Attributes)
  3. Запустите скрипт hosting_test.php. Если все ок, двигаемся дальше.
  4. Проверьте чтобы в glob_config.php был указан такой же ключ как и на основном сайте.
  5. Пропишите в .htaccess ip адрес основного сайта, чтобы доступ к скриптам был только у вашего сайта. Также поставьте пароль на папку shikarno с помощью shikarno/.htaccess (не обязательно, но крайне желательно). Если не знаете как это сделать, прочитайте статью. Если влом париться, обращайтесь в тех.поддержку, поможем.
  6. Зайдите в панельку и добавьте сайт: меню Сайты->добавить
Все необходимые данные (путь до php и wget, ip сайта, абсолютный путь) вы можете узнать, запустив shikarno/hosting_test.php