威联通NAS实现定时任务

Posted Frozen_Guardian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了威联通NAS实现定时任务相关的知识,希望对你有一定的参考价值。

百度搜到的教程本质上都是,“威联通底层就是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

以上是关于威联通NAS实现定时任务的主要内容,如果未能解决你的问题,请参考以下文章

威联通NAS实现定时任务

威联通NAS通过宝塔面板实现域名统一端口访问

威联通NAS通过宝塔面板实现域名统一端口访问

威联通NAS通过宝塔面板实现域名统一端口访问

威联通nas文件转到虚拟机

威联通NAS配置1.18.1Minecraft服务器