飞牛NAS设置docker定时重启

LG5 2026-1-10 6 1/10

一、登录飞牛 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 -
Tag:

LG5

1月10日10:48

最后修改:2026年1月10日
0

非特殊说明,本博所有文章均为博主原创。