MisskeyをMisskeyユーザーで実行している場合、misskeyユーザーをsudo
に入れてない人がほとんどかと思います。
そのためmisskeyユーザーで設定変更やアップデートを行った際には、一旦misskeyユーザーから退出して、systemctl restart misskey
などと実行しているはずです。
ただ毎回ユーザー切り替えて反映するのもなかなか面倒だなと思うわけでして、今回はMisskeyのプロセスだけをmisskeyユーザーが自由にいじれるようにスクリプト書いてみます。
環境要件としてはFedora/Ubuntuあたりでsystemctl
によってMisskeyを管理していることです。
以下のスクリプトをそのまま/usr/local/bin/misskey_ctl
として保存します。
/usr/local/bin/misskey_ctl
#!/bin/bash
cmd="$1"
case $cmd in
"start")
systemctl start misskey
;;
"stop")
systemctl stop misskey
;;
"restart")
systemctl restart misskey
;;
"status")
systemctl status misskey
;;
*)
echo "Usage: misskey_ctl start|stop|restart|status"
;;
esac
しかしsystemctl
の実行にはsudo
が必要です。そのためmisskeyユーザーがmisskey_ctl
に限りsudo
実行できるように以下のコマンドを実行します。
sudo chown root:root /usr/local/bin/misskey_ctl
sudo chmod 744 /usr/local/bin/misskey_ctl
その上でsudo
関連の設定を変更する専用のコマンドを実行します。
sudo visudo
でvi
かnano
が開いたら
misskey ALL=NOPASSWD: /usr/local/bin/misskey_ctl
を最終行に追記して保存を実行します。
特にメッセージが出なければ設定変更は成功です。
あとはmisskeyユーザーにログインして、
sudo misskey_ctl status
のように実行してプロセスの状態が確認できることを確認してください。