|
马上注册,自学更多教程,下载更多资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【前提确认】
确保你的 Jellyfin 是群晖套件版(若为 Docker 版,最后会补充适配步骤)。
步骤 1:开启群晖 SSH 功能(图形界面操作)
1、打开群晖 DSM 桌面,进入「控制面板」→「终端机和 SNMP」。
2、勾选「启用 SSH 服务」,端口保持默认 22(或自定义),点击「应用」。
步骤 2:SSH 登录群晖(Windows/Mac 通用)
方式 1:Windows(使用 PowerShell/CMD)
1、按下Win+R,输入cmd打开命令提示符。
复制粘贴以下命令登录(替换你的群晖用户名为实际管理员账号,如admin):
[Bash shell] 纯文本查看 复制代码 ssh 你的群晖用户名@192.168.2.235
2、按提示输入密码(密码输入时无显示,直接输完回车)。
3、登录后,切换到root用户(必须用 root 才能重启套件),复制粘贴:
[Bash shell] 纯文本查看 复制代码 sudo -i
4、再次输入你的管理员密码,回车后提示符变为#,表示已切换到 root。
方式 2:Mac/Linux(终端)
1、打开「终端」,复制粘贴登录命令:
[Bash shell] 纯文本查看 复制代码 ssh 你的群晖用户名@192.168.2.235
2、输入密码后,切换 root:
[Bash shell] 纯文本查看 复制代码 sudo -i
步骤 3:创建脚本目录 + 检测重启脚本
3.1 先创建脚本存放目录(避免目录不存在)
复制粘贴以下命令:
[Bash shell] 纯文本查看 复制代码 mkdir -p /volume1/scripts
(/volume1是群晖默认存储卷,若你的存储卷不是 volume1,需替换为实际卷名,如/volume2)
3.2 创建检测重启脚本
复制粘贴以下命令,直接生成脚本文件(注意:需修改你的端口号、群晖ip、jellyfin名称区分大小写):
[Bash shell] 纯文本查看 复制代码 cat > /volume1/scripts/check_jellyfin.sh << EOF
#!/bin/bash
# 检测Jellyfin 8096端口是否可访问(适配你的群晖IP 192.168.2.235)
# 优先用curl检测HTTP状态码(更精准),无curl则用nc检测端口
if command -v curl &>/dev/null; then
HTTP_CODE=\$(curl -s -o /dev/null -w "%{http_code}" [url]http://192.168.2.235:8096[/url])
if [ "\$HTTP_CODE" != "200" ]; then
# 重启Jellyfin套件
/usr/syno/bin/synopkg restart Jellyfin
# 创建日志目录并记录重启日志
mkdir -p /volume1/scripts/logs
echo "\$(date "+%Y-%m-%d %H:%M:%S") Jellyfin服务异常(HTTP状态码:\$HTTP_CODE),已自动重启" >> /volume1/scripts/logs/jellyfin_restart.log
fi
else
# 无curl时,用nc检测8096端口是否通
nc -z -w5 192.168.2.235 8096
if [ \$? -ne 0 ]; then
/usr/syno/bin/synopkg restart Jellyfin
mkdir -p /volume1/scripts/logs
echo "\$(date "+%Y-%m-%d %H:%M:%S") Jellyfin端口8096不通,已自动重启" >> /volume1/scripts/logs/jellyfin_restart.log
fi
fi
EOF
3.3 给脚本赋予执行权限
复制粘贴:
[Bash shell] 纯文本查看 复制代码 chmod +x /volume1/scripts/check_jellyfin.sh
3.4 测试脚本是否能正常运行(可选,验证有效性)
复制粘贴:
[Bash shell] 纯文本查看 复制代码 bash /volume1/scripts/check_jellyfin.sh
若 Jellyfin 正常:无任何输出,日志文件(/volume1/scripts/logs/jellyfin_restart.log)无新增内容;
若 Jellyfin 异常:会自动重启,日志文件会记录重启信息。
步骤 4:配置群晖计划任务(图形界面操作,全程复制粘贴命令)
4.1 打开计划任务界面
回到群晖 DSM 桌面,进入「控制面板」→「计划任务」→「新增」→「用户定义的脚本」。
4.2 填写「常规」选项卡(直接照填)
任务名称:AutoRestartJellyfin(自定义,方便识别);
用户:选择root(必须是 root,否则无权限重启套件);
勾选「启用」;
备注(可选):每5分钟检测Jellyfin,异常则自动重启。
4.3 配置「计划」选项卡(按频率设置)
频率:选择「每分钟」→ 改为「每 5 分钟」(推荐 5 分钟,可按需调整为 1/10 分钟);
执行时间:勾选「全天」;
重复:勾选「每天」;
点击「确定」(临时保存计划)。
4.4 配置「任务设置」选项卡(核心)
「运行命令」输入框中,复制粘贴以下命令(脚本路径必须和步骤 3 一致):
[Bash shell] 纯文本查看 复制代码 bash /volume1/scripts/check_jellyfin.sh
可选:勾选「发送运行结果的电子邮件」(需先配置群晖邮件通知),方便接收重启提醒;
点击「确定」,完成计划任务创建。
验证是否生效
1、手动停止 Jellyfin:进入群晖「套件中心」→ 找到 Jellyfin → 点击「停用」;
2、等待 5 分钟(或手动执行计划任务:在「计划任务」列表中选中AutoRestartJellyfin→ 点击「运行」);
3、检查 Jellyfin 状态:「套件中心」中 Jellyfin 应显示「运行中」;
4、查看日志:SSH 登录后复制粘贴以下命令,查看重启记录:
[Bash shell] 纯文本查看 复制代码 cat /volume1/scripts/logs/jellyfin_restart.log
若看到类似 2025-12-15 10:00:00 Jellyfin服务异常(HTTP状态码:000),已自动重启 的内容,说明脚本生效。
适配 Docker 版 Jellyfin(若你用的是 Docker)
若 Jellyfin 是 Docker 容器运行,无需脚本,直接设置容器重启策略即可:
1、进入群晖「Docker」→「容器」→ 找到 Jellyfin 容器 → 点击「编辑」;
2、「重启策略」选择「总是」(或「除非停止」);
3、点击「应用」,容器挂掉后 Docker 会自动重启(比脚本更简单)。
|