威联通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实现定时任务的主要内容,如果未能解决你的问题,请参考以下文章