威联通NAS实现定时任务

本文介绍了如何在威联通NAS的ContainerStation中通过Docker部署Ubuntu来安全设置和管理Linux定时任务(crontab)。首先,调整时区以确保时间准确,然后安装和配置crontab。在编写crontab任务时,需要注意命令的完整路径,以避免执行错误。通过示例,展示了如何创建和测试简单的定时任务,如创建文件夹。该方法提供了一个相对安全的环境,可以在不破坏NAS固件的情况下进行Linux命令操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度搜到的教程本质上都是,“威联通底层就是Linux系统,可以通过ssh直接访问进入,然后利用crontab命令设置定时任务”

乍一看没什么问题,但通过ssh访问进入的,是nas的固件,一不小心操作失误删掉了什么不该删的东西(比如我),就只能恢复出厂设置了

所以有什么既安全又能经得起我们折腾的地方呢?既然我们需要一个Linux内核的操作系统使用crontab命令,那么在Container Station里直接用docker开一个ubuntu就可以了

优点是可以尽情折腾,但缺点是每次重启后,容器也会重启,需要手动输入命令重启一下服务才能正常运行

正文

参考:
ubuntu修改时区,tzselect报错: /usr/share/zoneinfo/iso3166.tab: No such file or directory
Ubuntu修改时区和更新时间
Ubuntu下crontab的安装和使用
Linux crontab 命令

先在Container Station中开一个虚拟机用于执行我们的定时任务,所有的设置默认即可
在这里插入图片描述
点击终端机,输入 su 进入管理员模式

在这里插入图片描述
因为是定时任务,第一步肯定是需要将时间校准。先输入指令查看当前时间

date -R

在这里插入图片描述
在这里插入图片描述
刚好与北京时间差了8个小时

先安装tzselect:

apt update
apt install tzdata

安装过程中会让你选择地区和城市,我这里总是会有bug,所以先随便选择,稍后再修改
在这里插入图片描述
然后输入指令配置时区

tzselect

根据提示依次输入即可
在这里插入图片描述
会发现最下面有一行提示,需要我们手动去配置什么

输入命令复制文件到/etc目录下就好了

cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

再次查看时间

date -R

在这里插入图片描述

在这里插入图片描述
时间修改完了

然后就是调试crontab指令,先安装并启动

apt-get install cron
service cron start

附ubuntu下crontab常用指令

安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -l

安装完毕后,我们用最简单的创建目录指令测试,输入下面的指令打开定时任务的编辑页面:

crontab -e

用 vi 简单的编辑就可以了,具体格式如下

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次apache 

50 7 * * * /sbin/service sshd start  意思是每天7:50开启ssh服务 

50 22 * * * /sbin/service sshd stop  意思是每天22:50关闭ssh服务 

0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘 

1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件 

00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30执行一次ls命令

我们在最后面添加一句 “每分钟创建一次hello文件夹” 的命令查看效果

* * * * * mkdir /hello/

在这里插入图片描述
等上一分钟,可以看到成功了

在这里插入图片描述

写在后面

记一下踩到的一个小坑,在写定时任务的命令时,前后两个参数都必须写绝对路径,不然会识别不出来。比如我要执行python脚本,不能简单的写成

* * * * * python /test.py

而是需要将python的目录写上,比如

* * * * * /usr/bin/python3.6 /test.py
### QNAP 联通 NAS 使用 DDNS-Go 配置教程 #### 准备工作 为了使 QNAP NAS 设备能够通过固定的域名访问,即使 IP 地址发生变化也无妨,可以利用 DDNS-Go 工具完成这一目标。DDNS-Go 支持多种 DNS 服务提供商,并允许同时配置多个域名和服务商[^3]。 #### 安装 DDNS-Go 1. 下载适用于 ARM 或 x86 架构的最新版本 DDNS-Go 可执行文件至 NAS 上的一个可写入目录。 2. 将下载好的二进制文件重命名为 `ddns-go` 并赋予其执行权限: ```bash chmod +x /path/to/ddns-go ``` #### 创建启动脚本 创建一个新的 Shell 脚本来定期运行 DDNS-Go 更新命令: ```bash #!/bin/sh /path/to/ddns-go \ --domain=your.domain.com \ --token="YourAccessToken" \ --provider=dnspod \ --interval=600s \ --log-level=info ``` 此脚本中的参数需替换为实际使用的域名、API 访问令牌以及所选的服务提供商标识符。对于不同的服务商,可能还需要额外指定特定选项。 #### 设置定时任务 为了让 DDNS-Go 自动更新公共 IP 地址映射到设定的自定义域名,在 QNAP 控制面板的任务计划程序里新建一项周期性的作业来调用上述 shell script 文件。 #### 测试与验证 初次安装完成后应立即手动触发一次更新操作以确认一切正常运作;随后可通过浏览器尝试访问已绑定的新域名,确保能成功连接到 NAS 提供的各项服务。 #### 注意事项 如果遇到无法解析或连接失败的情况,请检查防火墙设置是否开放必要的端口,另外也要留意 ISP 是否存在对某些协议的支持限制等问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Frozen_Guardian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值