bc-agent
Server for executing jobs locally and or/remotely using ssh.
Usage
bc-agent [--cluster name] [--host host] [--local] [server][:port] ... bc-agent --version bc-agent --help
where
--cluster name | of BeyondCron cluster to join. Default is beyondcron . |
--host host | host name of agent. Default is name returned by /bin/hostname. |
--local | start as a local job executor only, and do not attempt to execure non-local jobs using ssh. Default is non-local , executing jobs using ssh. |
server | server name/s within the cluster. Default, the value of the environment variable BEYONDCRON_SERVER_NAMES . |
port | server port number. Default, the value of the enviornment variable BEYONDCRON_SERVER_PORT . |
--version | print the command version. |
--help | print the command options. |
Environment variables
BEYONDCRON_ALERT_COMMAND | Operating system command which is called when bc-agent stops unexpectedly. This can be used for example to send an email or SMS message. When called, the following environment variables will be set:BEYONDCRON_ALERT_REASON – description of error. e.g. “bc-agent stopped unexpectedly” or “bc-agent stopped after receiving signal 15”.BEYONDCRON_DAEMON – bc-agentBEYONDCRON_EXIT_CODE – exit code of bc-agentBEYONDCRON_OS_USER – operating system user name which bc-agent was running under. |
BEYONDCRON_CONFIG_SERVICE | Name of the configuration service. If not defined BeyondCron will read startup variables from operating system environment variables. |
BEYONDCRON_HOST_NAME | Host name of agent. Default is the name returned by /bin/hostname. |
JAVA_OPTS | One or more JVM options. e.g. -Xms2T -Xmx2M |
JDBC_CLASSPATH | Location of one or more JDBC drivers, which are used when executing SQL jobs. BeyondCron includes drivers for MySQL and PostgreSQL databases. |
LOG4J_CONFIGURATION_FILE | Location of the log4j configuration file. If this file is named …/log4j2.yaml and does not exist, bc-agent will create and populate it, with the bc-agent defaults. |
Startup variables
Startup variables can be set within a configuration service, or as operating systems environment variables. Startup variables will be read first from a configuration service if defined, and then from environment variables if not defined within the configuration service.
BEYONDCRON_AGENT_LOCAL | Start as a local job executor only. Default is false . |
BEYONDCRON_CLUSTER_NAME | Name of BeyondCron cluster to join. Default is beyondcron . |
BEYONDCRON_CLUSTER_PASSWORD | Password of cluster. If password is in the format file:filename, then the password will be read from filename. Default is a cluster specific random string. |
BEYONDCRON_SERVER_ADDRESS_IGNORE | Space separated list of IP address prefixes. When searching for an address, ignore any addresses that begin with one of these prefixes. This can be useful, on servers with one or more management interfaces. |
BEYONDCRON_SERVER_ADDRESS_IPV6 | When searching for an address, prefer an IPv6 address. Default is false . |
BEYONDCRON_SERVER_ADDRESS_PRIVATE | When searching for an address, only chose a private network address. Default is true . |
BEYONDCRON_SERVER_NAMES | One or more space separated server[:port]s to connect to. |
Default is a plumbed IP address that best matches the rules defined by the environment variables BEYONDCRON_SERVER_ADDRESS_PRIVATE , BEYONDCRON_SREVER_ADDRESS_IPV6 & BEYONDCRON_SERVER_ADDRESS_IGNORE . |
|
BEYONDCRON_SERVER_PORT | the server port number. Default is 5701 . |
where a parameter is defined on both the command line and as an environment/startup variable, the command line value will be used.
Configuration variables
Configuration variables are set within BeyondCron using the config commands.
beyondcron.agent.ssl.threads | number of ssl commands that agent will try to execute simultaneously. If set too high, jobs are likely to fail due bc-agent being unable to fork. Default is 100 . |
beyondcron.check.hosts.reachable | check that command job hosts are reachable before starting the job, by attemting to open a TCP connection to it. This can avoid long default timeouts when ssh’ing to a host that is down or does not exist. Default is true . |
beyondcron.host.reachable.port | reachable port to attempt to open. Default is SSH port 22 . |
beyondcron.host.reachable.timeout | reachable timout period. Default is 100 ms . |
beyondcron.echo | enable/disable the echo command and url. Default is true , enabled. |
beyondcron.echo.command | path to the echo command. Default is bc-echo , with the directory being set at run time to the directory containing bc-agent. |
beyondcron.echo.url | URL to the echo url. Default is http://localhost:8080/echo . |
beyondcron.environment.path | value of PATH environment variable which is set when executing command jobs. Default = /usr/local/bin:/usr/bin:/bin |
Exit status
bc-agent exits with 0
when shutdown/killed with the WINCH
signal, 1
if an internal error occurred, or 2
if killed by a signal other than WINCH.
Services
Configuration
Utilities
- bc-agent bc-echo