前言#
元の投稿者に感謝します。実際の操作中に、OpenWRT に /etc/systemd
フォルダが存在しないことがわかりました。起動方法は、起動アイテム - ローカル起動スクリプト に起動スクリプトを追加して起動自動化を実現します。バックグラウンドで実行するためには、screen を使用しましたが、より良い方法があれば追加してください。
操作手順#
- 実行ディレクトリを作成し、nezha-agent ファイルをダウンロードします(後続のバージョンがある場合は、ダウンロードリンクを最新バージョンに置き換えてください)
mkdir -p /opt/nezha/agent
wget -O /opt/nezha/agent/nezha-agent.zip https://github.com/nezhahq/agent/releases/download/v0.15.8/nezha-agent_linux_arm64.zip && unzip /opt/nezha/agent/nezha-agent.zip && chmod +x /opt/nezha/agent/nezha-agent && rm -f /opt/nezha/agent/nezha-agent.zip
- 起動時に実行されるファイルを作成します
vim /etc/nezha.sh
- 起動時に実行されるファイルを編集します(以下の内容を vim にコピーして保存します)
vim に入ったら、i
キーを押して編集モードに入ります
#!/bin/sh
echo しばらくお待ちください、Nezhaが起動しています
screen_name=$"nezha"
screen -dmS $screen_name
cmd="/opt/nezha/agent/nezha-agent -s バックエンド接続アドレス:ポート -p パスワード"
screen -x -S $screen_name -p 0 -X stuff "$cmd"
screen -x -S $screen_name -p 0 -X stuff $'\n'
echo Nezhaの起動に成功しました
書き終わったら ESC キーを押し、:wq
を入力して保存します
-
スクリプトが正常に実行されるかテストします
コマンドラインでbash /etc/nezha.sh
と入力し、Enter キーを押します。OpenWRT の Nezha パネルのウェブページでオンラインになっている場合、スクリプトは正常に実行されています。 -
自動起動に追加します
システム - 起動アイテム - ローカル起動アイテム のexit 0
の前の行に以下を追加します:
sleep 3 && bash /etc/nezha.sh && sleep 3
保存して OpenWRT を再起動すると、Nezha パネルのウェブページで OpenWRT がオンラインになっていることが確認できます。
後記#
貢献者に感謝します。改善できる点があれば、どうぞご提案ください。
- OpenWRT の起動に関する内容は、このウェブページを参考にしました:openwrt システムでの起動自動化サービスの設定