Rundeck

RundeckのDBデータを全削除する

投稿日:2020年5月3日 更新日:

目的

Rundeckでジョブを作って回していたところ、crontabの設定を失敗してしまい、大量のActivityログが溜まってしまいました(20万件程)。Projectごと削除しようとしましたが、なぜか、Deleteを押しても応答がなく、消せない状態に。おそらくActivityのレコード数が多すぎるためだと思いますが・・・

bulk deleteやapiなどでActivityログを削除する方法もあるようですが、定義しているjobの数も少ないのでいっそのことRundeckのDB(MySQL)ごと洗い替えしましたので、その手順を記載します。

環境

OS : CentOS7
MySQL:Ver. 15.1
Rundeck:Ver. 3.0.13

Step1 : ジョブのバックアップを取る

DBを再構築するとジョブ定義が飛んでしまいますので、あらかじめ必要なジョブ定義をエクスポートしておきます。手順は簡単でジョブの画面で「ジョブのアクション」をクリックし、リストから「XML形式でジョブ定義をダウンロード」を選択します。このXMLのジョブ定義ファイルはクライアント端末等に保存しておけば大丈夫です。

Step2 : DBを再作成する

思い切ってMySQLのrundeck用のdatabaseを削除します。今回はrundeckという名前のDBを作成していましたので、以下のように一旦dropしてから再度作成します。またrundeck用のユーザも作成していましたので、こちらも一応作り直しました。

#既存データベース/ユーザ削除
$ DROP DATABASE rundeck;
$ DROP USER rundeckuser@localhost;

#再作成
$ CREATE DATABASE rundeck;
$ GRANT ALL ON rundeck.* to 'rundeckuser'@'localhost' identified by 'rundeckpassword'; 

この時、データベース名やパスワードは以前使用していたものと同様にしておくのが良いです。もし、以前から変更する場合はrundeck-config.propertiesの書き換えを行う必要があります。

Step3 : Rundeck再起動

rundeckを再起動します。

$ systemctl restart rundeckd

Step4 : ジョブのインポート

これで再度ブラウザからrundeckへアクセスするとログイン画面が現れます。この時、IDやパスワードなどは消えていませんので、以前から使用していたアカウント情報でログインできます。

また、プロジェクトも以前に定義していたものが残っているはずです。ただし、ジョブについてはDBで定義されていたようで、すべて消えています。Activityも同様にクリーンアップされています。

ということで、先ほどXMLで吐き出しておいたジョブ定義をインポートします。インポート先のプロジェクトで、ジョブの画面を開き、「ジョブのアクション」から「定義をアップロード」を選択します。

そして、Select a ジョブs definition file.のしたのファイルの選択から、クライアント端末などに保存したファイルのパスを選択します。その下のファイル形式選択ではXMLを選んでおきます。(デフォルトでXMLになっているはず)
あとはUploadを押せば完了です。

まとめ

Rudeckのデータを一掃したい場合、ユーザ定義やプロジェクト定義などを残したままジョブやアクティビティログなどを消せるというのは、割と便利かもと思いました。ただ、データベース定義をドロップするという荒業感はありますので、注意しながら実施してください。

-Rundeck
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Rundeck windows環境でのバージョンアップ

Contents1 目的2 環境3 準備4 Rundeckファイルのダウンロード5 実行6 確認7 まとめ 目的 windows環境で構築したRundeckのバージョンアップを行う。作成したプロジェク …

【Rundeck】SSL証明書の自動更新

Contents1 目的2 Projectの作成3 ジョブの作成4 結果 目的 無料で使えるSSL証明書のLet’s Encryptは大変ありがたい存在です。ただし、この証明書は3か月で期限が切れます …

RundeckをWindowsにインストール

Contents1 目的2 環境3 Step1 : JDKのインストール4 Step2 : Rundeckのインストール5 ログイン6 まとめ 目的 使いやすいジョブスケジューラのRundeckですが …

Rundeck(Windows環境) へLANからのアクセス許可設定

Contents1 目的2 環境3 Step1 : rundeck-config.propertiesの編集4 Step2 : framework.propertiesの編集5 Step3 : Win …

Rundeck のデータベース設定(MySQL)

Contents1 目的2 環境3 MySQLのインストール4 RDB Datasourceの設定5 注意点 目的 ジョブ管理ツールのRundeckはデフォルトでH2 Databaseが組み込まれ、こ …

言語切り替え

カテゴリー