opencron
Это полноценная и универсальная система для планирования задач в Linux, которая позволяет решать сложные задачи по планированию в различных сценариях. Она также включает функции мониторинга в реальном времени, WebSSH и предоставляет удобную платформу для управления задачами по расписанию.
У вас есть потребность в выполнении задач по расписанию? Нужно определять задачи в crontab на каждом сервере Linux?
opencron решает все эти проблемы:
Среда выполнения
Для работы opencron требуется:
Установка
opencron состоит из двух частей: opencron-server (центральная платформа для управления) и opencron-agent (для управления задачами на компьютерах). Каждый компьютер, который должен быть включён в централизованную систему управления, должен установить opencron-agent. После установки opencron-agent на компьютере его можно добавить в opencron-server.
opencron-agent: установка
git clone https://github.com/wolfboys/opencron.git
cd opencron sh build.sh
tar -xzvf opencron-agent-${version}.tar.gz
перейдите в bin/; запустите startup.sh. Скрипт принимает четыре параметра: порт для запуска службы, пароль (по умолчанию — opencron), URL для автоматической регистрации и пароль для регистрации (по умолчанию — opencron@2016). Пример команды для указания параметров: sh startup.sh -P10001 -p123456 -shttp://127.00.0.1:8080 -kopencron@2016. Параметры: -P (заглавные P) — порт для запуска службы; -p (строчные p) — текущий пароль для подключения к этому компьютеру; -s — URL для автоматического обнаружения; -k — пароль для автоматического обнаружения (соответствует значению ключа opencron.autoRegKey в файле config.properties). Более подробную информацию о запуске можно найти в файле logs/opencron.out.
перейдите в bin/; выполните shutdown.sh.
opencron-server: установка
Конфигурация server.xml:
<?xml version='1.0' encoding='utf-8'?>
<Server port="7000" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="Пользовательская база данных, которую можно обновлять и сохранять"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<!-- Проектный порт доступа -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxThreads="550"
minSpareThreads="25"
maxSpareThreads="75"
minProcessors="100"
maxProcessors="300"
acceptCount="100"
enableLookups="false"
disableUploadTimeout="true"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
redirectPort="7970"
URIEncoding="UTF-8"/>
<Connector port="3007" protocol="AJP/1.3" redirectPort="2007" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost"
appBase="/data/www/opencron"
unpackWARs="true"
autoDeploy="false"
xmlValidation="false"
xmlNamespaceAware="false"
URIEncoding="UTF-8">
<Context path="/"
docBase="/data/www/opencron"
debug="0"
reloadable="true"/>
</Host>
</Engine>
</Service>
</Server>
Примечание:
В конфигурации Host и Context указаны пути к внешним распакованным проектам. Рекомендуется использовать этот способ развёртывания.
После запуска Tomcat доступ к серверу осуществляется через браузер по адресу $ip:$port, например: http://192.168.0.188:8080.
Независимо от способа развёртывания, при первом запуске автоматически создаётся таблица с начальным именем пользователя opencron и паролем opencron. При первом входе будет предложено изменить пароль.
Для управления агентами необходимо выполнить следующие шаги:
Если вы самостоятельно компилируете проект, возможно, что скрипт агента не будет выполнен. В этом случае измените кодировку всех скриптов в папке agent/bin: a) vim *.sh b) :set ff=unix и сохраните изменения.
Если после изменения кодировки скрипты всё равно не выполняются, попробуйте дать разрешения на запуск скриптов: chmod 777 bin/*
Если агент успешно запущен, но сервер не может подключиться, проверьте, открыт ли порт агента (например, многие облачные серверы требуют открытия портов для доступа).
Если сервер использует Nginx для обратного проксирования, настройте его следующим образом:
upstream opencron {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name www.opencron.org;
root /data/www/opencron/;
location / {
proxy_pass http://opencron;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header
``` ```
X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 1m;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
#这里必须这么配置,否则web终端无法使用
location ^~ /terminal.ws {
proxy_pass http://opencron;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Больше вопросов можно задать в группе общения opencron 156429713. Будем рады видеть вас там.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )