飞牛NAS(fnOS)目前没有内置“定时开关机”的图形化功能,但可以通过系统自带的 cron 定时任务 配合 Linux 命令实现自动关机;自动开机则需要主板 BIOS 的 RTC 定时唤醒功能配合。下面分两部分说明。
一、自动关机(fnOS 系统内设置)
fnOS 基于 Debian,可以直接用 root 权限编辑 crontab 或使用 systemd timer。
方法:使用 cron 定时关机
- SSH 登录 fnOS(或通过系统设置里开启 SSH)。
- 切换到 root:
sudo -i - 编辑 root 的 crontab:
crontab -e - 添加一行,例如每天凌晨 1:00 自动关机:
0 1 * * * /sbin/shutdown -h now0 1 * * *表示每天 01:00- 若要每周日 23:30 关机:
30 23 * * 0
- 保存退出(nano 按
Ctrl+O回车,Ctrl+X退出)。 - 确认任务已写入:
crontab -l
注意:fnOS 系统升级或某些配置重置后,crontab 一般会保留,但建议记录一下。另外确保 cron 服务在运行:
systemctl status cron。
可选:关机前先停掉 Docker/虚拟机
如果跑了很多容器,建议关机脚本里先执行 docker stop $(docker ps -q) 再关机,避免数据损坏。可以写一个脚本 /root/auto_shutdown.sh:
#!/bin/bash
docker stop $(docker ps -q) 2>/dev/null
sleep 10
/sbin/shutdown -h now
然后 crontab 调用这个脚本,并 chmod +x。
二、自动开机(BIOS 设置,系统内无法实现)
NAS 关机后,软件层面无法把自己“唤醒”,必须依赖主板硬件定时器:
- 重启进入 BIOS/UEFI(开机按 Del/F2,视主板而定)。
- 找到 电源管理(Power Management) 相关菜单,常见选项名:
- RTC Wake / Resume by RTC Alarm
- Wake on RTC / Power On by RTC
- ErP / RTC Timer
- 设置为 Enabled,并设定每天固定时间开机(如 08:00)。不同主板界面差异较大,有的需要设置 Day/Hour/Minute/Second。
- 保存退出(F10)。
部分主板(尤其软路由/工控板)可能没有 RTC 唤醒选项,那就无法实现自动开机,只能靠智能插座 + BIOS “来电自启(AC Power Loss → Power On)” 方案:定时插座断电再通电,主机自动开机。
三、推荐组合方案
| 需求 | 方案 |
| 每天 01:00 关机 | fnOS crontab 执行 shutdown |
| 每天 08:00 开机 | BIOS RTC Wake 设为 08:00 |
| 主板无 RTC 唤醒 | 智能插座定时通断电 + BIOS 设置“断电恢复后自动开机” |
四、注意事项
- 关机前确保没有正在进行的备份/同步任务,否则可能中断或损坏数据。
- 如果 fnOS 有“计划任务”图形界面(部分版本在 系统设置 → 任务计划 里),也可以直接在那里添加关机命令,效果等同 cron。
- 自动开机时间要晚于关机时间,且 BIOS 时间要与系统时间一致(注意 UTC/本地时区)。
- 频繁开关机对机械硬盘寿命有一定影响,若只是省电可考虑休眠(
rtcwake)替代。
