背景
docker装了小雅Alist,官方小雅的更新方式是重启docker应用,但是QNAP的容器管理应用不支持定时重启(群晖支持,NND~~)
所以研究了下如何命令行设置小雅Alist每日自动更新的方法。
1、SSH进入qnap命令行,获取管理员权限。(方法自行百度,略)
2、查找docker应用名,使用docker ps
命令查询,此处得知名字为xiaoya
[admin@HauseNAS ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8991968bab52 xiaoyaliu/alist:hostmode "/entrypoint.sh /opt…" 4 weeks ago Up 33 minutes xiaoya
3、获取docker安装位置,QNAP的docker位置可能比较特殊,所以要用which
命令确认,后面添加任务需要。
[admin@HauseNAS ~]# which docker
/share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker
4、使用linux自带的crontab命令设置自动任务:
# 添加任务
echo "0 5 * * * /share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker restart xiaoya" >> /etc/config/crontab
# 重启crontab
crontab /etc/config/crontab && /etc/init.d/crond.sh restart
-
定时参数:我这里要求每日5点更新,你也可以自行调整时间,第一个为分钟,第二个为小时,后面三个涉及天数,不管就行了,如果你有特殊的更新周期的需求,可以自行百度下。
0 5 * * *
-
用2、3步查得的信息组成docker重启命令
/share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker restart xiaoya
-
完整的crontab任务格式为:
0 5 * * * /share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker restart xiaoya
-
使用
echo
命令添加crontab任务,注意QNAP不能直接使用crontab -e
进行编辑,否则无效。
5、查看是否成功添加。
[admin@HauseNAS ~]# crontab -l|grep xiaoya
0 5 * * * /share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker restart xiaoya