
Nas本质就是存储,但高级玩家许多都是All in One,一机宇宙海陆空,啥都能帮上忙。
除了All in One外,信任大部分Nas用户都是白天才需要用到Nas,凌晨都是陪主人一起睡觉觉的。
科技改变生活,特别是改变过去人力劳动,从手动解放成自动模式,所以,为了Nas的功耗和寿命,可以对其进行设定一个定时开关机模式,以达到自动化状态,免去手动和行走操作。
详细的帖子编辑不易
【常规操作:点赞、收藏、关注!】
准备
- 硬件:DIY飞牛Nas主机、主力计算机
- 软件:飞牛系统+内置虚拟机安装各种系统
- 工具:Xshell、winscp(可选)
开关机方案介绍:
1、开机:
个人了解到的有:
- 主板来电启动(通电自动启动)
- RTC启动(设定开机时间,根据主板时间到点自动开启)
- 网络唤醒(路由 / 软件APP唤醒)
- 第三方软硬件启动(智能插座、易微联、远程开机助手APP / 小程序等等,大部分利用主板功能:来电 / 网络唤醒实现。)
根据自己情况选择,在此帖不详细赘述。如果不知道如何选择,欢迎在评论区留言,信任有许多热心的小伙伴会为你解答。以上最省钱的方案就是RTC启动,主要靠的是主板上一颗纽扣电池,然后就是保证主板时间要准确。
2、关机
- 飞牛系统和istoreOS同属Linux,先让大家了解Linux关于“crontab”的使用规则和设置:
# 格式:* * * * * command(注意空格)
第一个“ * ”(分钟)
第二个“ * ”(小时)
第三个“ * ”(日期)
第四个“ * ”(月份)
第五个“ * ”(星期)
# 结构:五个“ * ”+ 命令(command)
* * * * * command # 每分钟执行命令
0 * * * * command # 每小时的0分执行(每小时)
- Example:
0 2 * * * /sbin/shutdown -h now
- 代码分析:
分钟-小时-日期-月份-星期-命令
0 2 * * * /sbin/shutdown -h now
│ │ │ │ │
│ │ │ │ └─ 星期几 (0-7, 0和7=周日,使用0和7自己选择)
│ │ │ └─ 月份 (1-12)
│ │ └─ 日期 (1-31)
│ └─ 小时 (0-23)
└─ 分钟 (0-59)
代码意思:每天2:00 执行关机(/sbin/shutdown -h now)
- 可用的特殊字符
# 星号 ( * ):任意值,如:
* * * * * command # 每分钟执行
0 * * * * command # 每小时的0分执行(每小时)
# 逗号 ( , ):指定多个值,即:A,B,C...等时间,如:
0 8,12,18 * * * command # 每天8:00, 12:00, 18:00执行
0 9 * * 1,3,5 command # 每周一、三、五的9:00执行
# 连字符 ( - ): 指定范围,即:A到B时间段
0 9-17 * * * command # 每天9点到17点之间每小时执行
0 8 * * 1-5 command # 周一到周五的8:00执行
# 斜线 ( / ) :指定间隔,即:每间隔时间
*/5 * * * * command # 每5分钟执行
0 */2 * * * command # 每2小时的0分执行
0 0 */15 * * command # 每15天的0:00执行
# 理解:(“ * ”可以理解为数学中的未知数 / 代求的 X 数值,把求解的用数值字符代入/取代即可)
- 添加定时任务命令:使用Xshell通过SSH连接飞牛或istoreOS系统
# 获取root权限下操作
输入:crontab -e
操作:添加你需要定时的任务命令
# 飞牛保存操作:输入ctrl+S保存,ctrl+X退出即可
# istoreOS保存操作:shift+冒号,输入wq保存退出
(注:在代码前加入“#空格”代表注释不使用)

飞牛定时任务表

istoreOS定时任务表
飞牛系统定时关机进阶:(搭配1panel管理软件)
# 获取root权限下操作
- 脚本命令:
#!/bin/bash
# 记录关机时间到日志
echo "【$(date "+%Y-%m-%d %H:%M:%S")】开始执行定时关机任务..." >> /var/log/auto-shutdown.log
# 1. 停止所有正在运行的 Docker 容器
# 如果你只想停止容器而不停止Docker服务,可以使用以下命令:
echo "正在停止所有 Docker 容器..." >> /var/log/auto-shutdown.log
docker stop $(docker ps -q) >> /var/log/auto-shutdown.log 2>&1
# 2. 停止 Docker 服务(可选,但更彻底)
# 停止服务会自动停止所有容器,一般执行上一步即可,但如果你也希望Docker服务本身停止,可以撤销下面一行的注释
# systemctl stop docker >> /var/log/auto-shutdown.log 2>&1
# 等待几秒,确保容器已完全停止
sleep 5
echo "Docker 已停止,即将关闭系统..." >> /var/log/auto-shutdown.log
# 3. 关闭主机
/sbin/shutdown -h now
- 无日志简单版:
#!/bin/bash
# 1. 停止所有正在运行的 Docker 容器
# 如果你只想停止容器而不停止Docker服务,可以使用以下命令:
docker stop $(docker ps -q)
# 2. 停止 Docker 服务(可选,但更彻底)
# 停止服务会自动停止所有容器,一般执行上一步即可,但如果你也希望Docker服务本身停止,可以撤销下面一行的注释
# systemctl stop docker
# 等待几秒,确保容器已完全停止
sleep 5
# 3. 关闭主机
/sbin/shutdown -h now
为何要先停止Docker容器,再执行系统关机操作?
Because,系统关机顺序就是这样,在实践关机操作中,系统停止容器会等上很长时间,容器多还要以分钟计算,还不如直接利用脚本一键瞬间执行来得方便快捷。
如何使用?
根据实际情况和个人偏好选择保存和执行脚本的目录:
(注意:记得给脚本赋予执行权限,否则计划任务无法运行它。)
赋予执行权限命令:
chmod +x 目录/脚本文件.sh
sudo chmod +x 目录/脚本文件.sh
- 操作实例:
sudo -i
输入用户密码
vi /usr/local/bin/shutdown_host.sh # 创建并编辑
复制粘贴上面脚本
shift+冒号,输入wq保存退出
# 赋予执行权限命令:
输入:chmod +x /usr/local/bin/shutdown_host.sh
1panel管理操作:
应用中心————开发工具——安装1panel——创建计划任务


# 脚本内容输入如下目录:
/usr/local/bin/shutdown_host.sh

保存
以上飞牛系统+1panel设定定时关机任务就完成了。
istoreOS定时关机设置操作:(有需求可以看)



以个人飞牛系统玩法为例,关于整机定时关机操作:
1、先关闭虚拟机安装的系统(如:istoreOS旁路由、冬瓜OS);
2、在使用脚本先停止Docker容器,再关闭飞牛系统。
(注意:系统间关闭时间设置顺序。)
以上就是
飞牛系统与istoreOS定时开关机方案
以及crontab知识点
到此介绍结束,感谢大家的捧场!
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END

















暂无评论内容