MAGAZINE
ルーターマガジン
CentOS 7.7にジョブスケジューラーRundeckをインストール
ルーターエンジニアのtoyamaです。 今回はジョブスケジューラー「Rundeck」のインストール方法をご紹介します。
Rundeckとは
- Rundeckとは、cronのように指定した時刻にプログラムを実行させるように設定できるオープンソースのジョブスケジューラーの1つです。
- エラーの記録などを細かく設定しなくても勝手に記録してくれるので、いつのジョブが失敗して、そのときのエラーも瞬時に把握することができます。
- プラグインをいれればスラックへの通知なども可能です。
インストール方法
今回は、CentOS7.7のサーバーにインストールする手順をご紹介します。
$ cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
組み込みのデータベースを使用することもできますが、Rundeckが動くサーバーと、データベースは分けたかったので、ローカルネットのmariadbを使用しました。
$ mysql --version
mysql Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1
まずはjavaをインストールします。
$ sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
$ java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
次に、Rundeckのリポジトリを追加し、インストールします。
$ sudo rpm -ivh http://repo.rundeck.org/latest.rpm
$ yum install rundeck
続いて、Rundeckのmaridbクライアントのプラグインをインストールします。 ダウンロードページ こちらのページから必要なプラグインをダウンロードします。 今回はjava8をインストールしたので、ProductをJava 8 connectorを選択してダウンロードし、/var/lib/rundeck/lib/に置きます。
$ mv mariadb-java-client-2.7.2.jar /var/lib/rundeck/lib/
次に/etc/rundeck/rundeck-config.propertiesのファイルにDB接続設定を追加します。
dataSource.dbCreate = update
dataSource.url = jdbc:mysql://{データベースのIP}/rundeck?autoReconnect=true&useSSL=false
dataSource.username = rundeckuser
dataSource.password = rundeckpassword
dataSource.driverClassName=org.mariadb.jdbc.Driver
また、接続するデータベースにrundeckが使用するデータベースを作成し、上で設定したユーザー名、パスワードのユーザーを作成してください。
mysql> create database rundeck;
mysql> grant ALL on rundeck.* to 'rundeckuser'@'%' identified by 'rundeckpassword';
これで設定は完了です。 あとは起動するだけです。
$ systemctl start rundeckd
$ systemctl enable rundeckd
Rundeck-home ブラウザからこちらのURLを開いて、トップページが表示されれば成功です。
ユーザーID、パスワードの初期値はadminです。
最後に
実際に使ってみて、cronと違って、エラーログや実行ログを勝手に記録してくれるので、とてもイイです。 毎時実行するジョブを設定して2ヶ月位経ちますが、ちゃんと実行してくれています。 使ってみようか迷っている方はぜひ使ってみてください。
CONTACT
お問い合わせ・ご依頼はこちらから