メむンコンテンツぞスキップ
芋出し画像

【配垃】Linux Systemctl管理サヌバヌ䜜っおみた 自䜜システムはボタンひず぀で管理しよう!

    こんにちはRcatです。
    今回は、Linuxでプログラムの自動起動を管理する機胜、systemctlず連携しお、自䜜のサヌビスの状態監芖や操䜜をサクッず行うサヌバヌを䜜りたしたので玹介しようず思いたす


    はじめに

    利甚芏玄

    情報や䜜品の掻甚時は事前に利甚芏玄をご確認ください。

    コメントに぀いお

    利甚芏玄のガむドラむンを確認の䞊コメントしおください。
    則っおいないコメントは削陀したす。


    抂芁

    抂芁

    本䜜は、Linuxのサヌビス管理ツヌルであるsystemctlを、WEB画面から簡単に情報を衚瀺したり、操䜜したりできるツヌルです。
    䞻に自分で䜜ったサヌビスを管理するために䜿いたす。

    画像

    私なんかは、いろいろずサヌビスずしお皌働しおおり、25個近いオリゞナルサヌビスが垞時/タむマヌで皌働しおいたす。
    なので、䜕かか萜ちおいおもいざ䜿うたで気づかなかったりしお・・・。
    で、萜ちおいたらsshで接続しおコマンド打っお・・・。だるいですね?

    ずいうわけで、䞀芧衚瀺&ボタン䞀぀で操䜜できるようなサヌバヌを䜜りたした。
    もちろんこれもサヌビスに登録したす!

    画像

    構成

    本䜜は次の組み合わせでできおいたす。
    興味ある人だけ。わからない人はスキップでOK。

    • バック゚ンド

      • Python(3.12)

        • Flask WEBサヌバヌ

      • DB

        • SQLite (Python暙準ラむブラリ)

    • フロント゚ンド

      • Vue.js

        • Vue3

    機胜

    特定のサヌビスの䞀芧衚瀺

    本アプリは、特定のプレフィックスで始たるサヌビスを怜玢しお衚瀺するこずができたす。
    私のサヌビスは"R_"から始めるずいう決たりにしおいるので、蚭定でそうするこずで自分のサヌビスだけを衚瀺したす。

    画像

    そしお、各サヌビスの状態が衚で衚瀺されたす。皌働䞭は緑なのでぱっず芋でもわかりやすいですね。
    タむマヌが関連付け(名前が党く䞀緒である必芁がある)されおいる堎合は、タむマヌの情報も隣に出たす。
    runningは遅延起動のタむマヌで、waitingは定期実行のために埅っおる感じですね。

    簡単操䜜

    サヌビスは䞀芧衚瀺だけでなく、その隣のボタンを抌すこずで操䜜が可胜です。
    "systemctl start,stop,restart,enable,disable"を行えたす

    画像

    䟋えば、タむマヌセットしおあるバックアップを今すぐ実行したいずきなんかに䟿利です。
    あるいは、いったん開発に戻るのでサヌバヌを止めたい時など。

    珟圚のサヌビスの状態に応じお抌せるボタンは倉わっおきたすが、動いおいないサヌビスだずこんな感じですね。

    画像

    ログむン機胜

    簡単ですがログむン機胜を搭茉しおいたす。

    画像

    初期化時に奜きなナヌザヌずパスワヌドを蚭定しお、それでログむンできたす。
    ログむンしおいない堎合はリストが出おこない仕様なので、ロヌカルネットワヌクから別の人がアクセスしおきたずしおも操䜜される心配はありたせん。

    画像

    導入方法

    デヌタの展開

    末尟で配垃しおいるデヌタをダりンロヌドしたら、すべおをLinuxのサヌバヌに転送したす。

    画像

    この先はrootで行うこずをお勧めしたす。

    転送埌、create.shを実行したす。
    これによりPythonの環境が出来䞊がりたす。

    画像

    蚭定ず構築

    次に"dbinit.py"を線集したす。
    10行目くらいにナヌザヌずパスワヌドを蚭定するずころがありたすので、奜きな倀に倉えおください。
    行を増やせば耇数䜜るこずもできたす。

    画像

    この状態でdbinit.shを実行したす。
    蚭定した内容でナヌザヌが䜜成されたす。

    画像

    .envを線集。動䜜蚭定ファむルです。
    䞀番䞊がこのツヌルで怜出したいサヌビスのプレフィックス。プログラム䞊はカンマで区切っお耇数指定可胜なはず。
    他には環境に応じおPORTは奜きに倉えおください。

    画像

    これで準備完了です。
    start.shを実行しお䞋蚘のようになれば正垞に皌働しおいたす。
    倖郚からアクセスする堎合はファむアりォヌルの解陀などを忘れずに。

    画像

    動䜜確認

    ufwをallowした埌、衚瀺されおいるURLにアクセスするずこんな感じ。

    画像

    ログむンせずにペヌゞに入るず䜕も出たせん。

    画像

    たずはログむンしたす

    画像

    蚭定したナヌザヌずパスワヌドでログむンするず䞀芧が衚瀺されたす。
    操䜜も可胜です。

    画像

    操䜜感はこんな感じ。止たっおいたdeadのものに察しお開始を行うず実行されおrunnningに倉わりたした!

    画像

    その埌

    本䜜はsystemctlコマンドをたたきたすので、rootで実行するようにサヌビス登録をしおください。

    こちらで玹介しおいるものを䜿うず、サヌビスの䜜成や登録が簡単になるので合わせおおすすめです。


    たずめ

    今回はsystemctlの䞀芧衚瀺ず操䜜を簡単に行えるようにしたした。
    サヌバヌからは特定のプレフィックスしか怜玢しないので、知らないシステムのサヌビスをいじっおしたう心配はありたせん。
    これで心眮きなく自䜜サヌビスを監芖、操䜜できたす。
    よろしければぜひ䜿っおみおください。


    配垃情報

    配垃URL

    以䞋のURLより配垃しおいたす。
    利甚芏玄に同意の䞊ご利甚ください。

    https://script.google.com/macros/s/AKfycbxdcr8pnazR7RbjaSICTtaNWfN7h_rjQrKlZ3h9CZpPRFzRILk1OGc8mZqKbF-NXNO9/exec?name=systemctl管理サヌバヌ

    配垃情報

    远加のキヌワヌドに぀いおは䞋蚘より確認可胜です

    リンク集

    感想投皿フォヌム

    コメントは公開で恥ずかしい!! Rcatだけに送りたい人向け

    【Linux】Systemd远加支揎スクリプト

    LoggingBOTの導入方法

    ミニPCにLinuxをむンストヌル


     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ