CCKDN-云码酷 门户 查看主题

用脚本实现群晖Jellyfin自动重启

发布者: 云码酷 | 发布时间: 2025-12-15 17:37| 查看数: 717| 评论数: 15|帖子模式

马上注册,自学更多教程,下载更多资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

Jellyfin 自动重启.webp



【前提确认】

确保你的 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 异常:会自动重启,日志文件会记录重启信息。

image.webp

步骤 4:配置群晖计划任务(图形界面操作,全程复制粘贴命令)



4.1 打开计划任务界面
回到群晖 DSM 桌面,进入「控制面板」→「计划任务」→「新增」→「用户定义的脚本」。
image.webp
4.2 填写「常规」选项卡(直接照填)
任务名称:AutoRestartJellyfin(自定义,方便识别);
用户:选择root(必须是 root,否则无权限重启套件);
勾选「启用」;
备注(可选):每5分钟检测Jellyfin,异常则自动重启。
image.webp


4.3 配置「计划」选项卡(按频率设置)
频率:选择「每分钟」→ 改为「每 5 分钟」(推荐 5 分钟,可按需调整为 1/10 分钟);
执行时间:勾选「全天」;
重复:勾选「每天」;
点击「确定」(临时保存计划)。
image.webp

4.4 配置「任务设置」选项卡(核心)
「运行命令」输入框中,复制粘贴以下命令(脚本路径必须和步骤 3 一致):

[Bash shell] 纯文本查看 复制代码
bash /volume1/scripts/check_jellyfin.sh



可选:勾选「发送运行结果的电子邮件」(需先配置群晖邮件通知),方便接收重启提醒;
点击「确定」,完成计划任务创建。

image.webp



验证是否生效
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 会自动重启(比脚本更简单)。













最新评论

99e 发表于 2025-12-15 17:37:23
无意飘过。。。。支持一下
uy41u 发表于 2025-12-15 17:47:54
鄙视楼下的顶帖没我快,哈哈
ola5 发表于 2025-12-15 17:58:08
呵呵。。。
1tmk 发表于 2025-12-15 18:08:23
哈哈,偶尔冒泡支持一下,这帖有干货,大家快来围观,顶!
gnt 发表于 2025-12-15 18:18:56
传说中的沙发???哇卡卡
t01iz 发表于 2025-12-15 18:29:06
哈哈,我这路人甲也被这帖吸引了,顶顶更热闹。
ftt 发表于 2025-12-15 18:39:27
围观 围观 沙发在哪里!!!
ikp81b 发表于 2025-12-15 18:49:57
我了个去,顶了
781vn2 发表于 2025-12-15 19:00:40
偶然路过这帖子的‘地盘’,被它的魅力折服,帮它站站‘C 位’,顶!
12下一页

申请友链|Archiver|手机版|小黑屋|CCKDN-云码酷 ( 京ICP备13037810号 )

Powered by Discuz! X3.5  © 2001-2022 云码酷