一、登录飞牛 NAS 的 SSH
1、打开飞牛 NAS 的管理后台,找到「系统设置」→「SSH 服务」,开启 SSH 登录(默认端口 22)。
2、使用 SSH 工具(如 Xshell、Putty、终端)登录飞牛 NAS,账号密码为管理员账号(建议用 root,无权限则加sudo)。
二、获取容器名称 / ID
执行以下命令查看所有 Docker 容器,记录目标容器的
NAMES(名称)或CONTAINER ID(ID):docker ps -a
三、编写重启脚本(可选,推荐)
脚本便于日志记录和问题排查,创建并编辑脚本:
# 创建脚本文件(路径自定义,如/root/docker_restart.sh)
touch /root/docker_restart.sh
# 赋予执行权限
chmod +x /root/docker_restart.sh
# 编辑脚本(用vi编辑器)
vi /root/docker_restart.sh
粘贴以下脚本内容(按i进入编辑模式,编辑完成按ESC,输入:wq保存退出):
#!/bin/bash
# 替换为你的容器名称/ID
CONTAINER_NAME="your_container_name" # 例如:nginx_container
# CONTAINER_ID="123456abcdef" # 可选,用ID也可
# 日志保存路径(飞牛NAS建议放在/data目录,避免系统盘满)
LOG_FILE="/data/docker_restart.log"
# 确保日志目录存在(如果路径有子目录,需先创建)
mkdir -p /data
# 记录重启时间
echo "=====================================" >> $LOG_FILE
echo "容器重启任务执行时间: $(date "+%Y-%m-%d %H:%M:%S")" >> $LOG_FILE
# 执行重启命令(二选一,注释掉不用的)
docker restart $CONTAINER_NAME >> $LOG_FILE 2>&1
# docker restart $CONTAINER_ID >> $LOG_FILE 2>&1
# 检查重启结果
if [ $? -eq 0 ]; then
echo "容器 $CONTAINER_NAME 重启成功" >> $LOG_FILE
else
echo "容器 $CONTAINER_NAME 重启失败!" >> $LOG_FILE
fi
echo "-------------------------------------" >> $LOG_FILE
四、配置 crontab 定时任务
1、编辑 crontab 定时任务列表:
# 用root用户编辑(飞牛NAS默认管理员可直接执行,无权限则加sudo)
crontab -e
2、添加定时规则(示例:每天凌晨 2 点重启):
# 每天2:00执行重启脚本(飞牛NAS的docker命令无需绝对路径,若找不到则用which docker查路径)
0 2 * * * /root/docker_restart.sh
3、crontab 时间格式说明(和 Linux 一致):
*/10 * * * *:每 10 分钟执行一次0 0 * * 0:每周日凌晨 0 点执行30 8 * * 1-5:每周一到周五 8 点 30 分执行
五、验证定时任务
# 查看已添加的crontab任务
crontab -l
# 手动测试脚本是否生效(执行后查看日志)
/root/docker_restart.sh
cat /data/docker_restart.log
- THE END -
最后修改:2026年1月10日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://lg5.top/1550.html
