Rundeck: Job Scheduler
Job scheduling is one of Rundeck's most popular capabilities. Top uses include:
- Scheduling and organizing tasks that were previously triggered manually
- Providing visibility into jobs that were previously run through cron or custom tools
- Replacing / avoiding expensive and unwieldy legacy job schedulers
Rundeck's Job Scheduler Features:
Rundeck is considered an "agentless" system because it does not require the installation of a special Rundeck client on the remote hosts. By default, Rundeck uses SSH to execute commands and scripts on the remote servers. Windows users normally use the winrm plugin to execute commands. If your use case requires an agent, Rundeck's "NodeExecution" plugin can be used to delegate remote command execution to an external agent system (eg, salt, mcollective).
✓ Script storage
Rundeck can copy local and web accessible scripts to remote nodes and execute them. You can copy your scripts to the Rundeck server or in any place accessible via HTTP GET. For script execution, Rundeck transfers the script file and then executes it. By default, Rundeck uses SCP to transfer files remotely. You can configure Rundeck to use alternative methods by configuring a "FileCopier" plugin. You can integrate other protocols and transfer methods with a different FileCopier plugin.
✓ Multiple platforms
Rundeck is a Java webapp and typically runs out of Tomcat or Jetty. The CLI tools are also java-based. Rundeck can be deployed to Windows Servers or a wide variety of Unix flavors, most often Linux. Rundeck runs on Mac OSX, too.
✓ Any OS account
Rundeck can run the job as any OS-account on the target system. Jobs select the nodes they execute steps on. Each node declares the username to connect to the host and execute the remote command. For SSH and SCP, Rundeck can use either key-based or username/password authentication.
✓ stdout/err transfer
Both the stdout and stderr messages of the job steps are aggregated and displayed in real time. At the end of the job run, the log file is stored along with the execution metadata. This metadata contains a representation of the execution, describing how each step of the Job executed on each Node, its status, and the stdout/err messages.
✓ File transfer
By default, Rundeck uses SCP to copy files to remote hosts. You can introduce alternative methods for file transfer via a "FileCopier" plugin. You can have multiple FileCopier plugins and specify a different one to each node.
✓ Role based access control
Rundeck allows you to grant privileges using roles and rules in its access control policy. Roles are user groups you maintain in a user directory, often OpenLDAP or Active Directory. The ACL policy rules declare what users and groups can execute a kind of action on a resource in a given context. The ACL policies let you manage activity based on common roles (eg. developers, operators, administrators) by maintaining sets of rules that grant or deny their activity.
✓ Auditing and reporting
Rundeck records all job activity. An auditor can use Rundeck logs to find out when a job was created or changed, when it ran, by who, the policy rule that granted access to it, any stdout/err output, and a report model that details the execution state. Logs can be stored locally or synchronized to a centralized secure facility.
✓ Design lifecycle
Job definitions can be exported to editable text files or packaged into an archive. Some users maintain the job definitions as code in a source repository and publish it to Rundeck via CLI or the API. Other users use the Rundeck GUI to maintain the job definitions and use the project export and import functions.
✓ Multiple user interfaces
Rundeck provides three interfaces:
- Graphical via web browser
- Command line tools
- API services
✓ Fully integrated workflow and runbook automation capabilities
Rundeck has full featured workflow and runbook automation capabilities