MisskeyをMisskeyユーザーで実行している場合、misskeyユーザーをsudoに入れてない人がほとんどかと思います。
そのためmisskeyユーザーで設定変更やアップデートを行った際には、一旦misskeyユーザーから退出して、systemctl restart misskeyなどと実行しているはずです。
ただ毎回ユーザー切り替えて反映するのもなかなか面倒だなと思うわけでして、今回はMisskeyのプロセスだけをmisskeyユーザーが自由にいじれるようにスクリプト書いてみます。
環境要件としてはFedora/UbuntuあたりでsystemctlによってMisskeyを管理していることです。
以下のスクリプトをそのまま/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
のように実行してプロセスの状態が確認できることを確認してください。