威联通NAS在重启时自动启动服务作业

  • 原创
  • |
  • 浏览:4765
  • |
  • 更新:

      我们知道QNAP的TurboNAS系统基于Linux操作系统进行开发,理论上可以使用Linux的常规做法来实现“重启时自动启动某个服务作业”。常规做法如(1)使用ln命令在/etc/init.d目录中建立软链接;(2)使用chkconfig启停服务;(3)使用ntsysv以图形化方式启停服务。但在实际操作中发现,(1)只要QNAP主机重启,系统会自动覆盖掉自己建立的软链接;(2)指令chkconfig和ntsysv在QNAP上并不支持。

      本教程示范在威联通QNAS TS251+ 使用crontab实现重启时自动执行作业任务。

 

工具/原料

  • 威联通QNAP NAS主机TS251+
  • Putty
  • WinSCP

方法/步骤

  1. 1

    明确服务(或作业)信息。如果是自己编写的.sh文件,一定要存放在/share/CACHEDEV1_DATA目录(或其子目录)下。如果存放在/etc、/bin目录下,在NAS系统重启时将会被QNAP的系统自动覆盖掉。为示例方便,此处假设此sh文件的全路径名称为:/share/CACHEDEV1_DATA/test.sh

  2. 1
    此文章非法爬取自百度经验
  3. 2

    将test.sh文件设置为可执行模式。可以在Putty中进行命令操作:Chmod +x  /share/CACHEDEV1_DATA/test.sh。也可以在WinSCP中进行操作,如下图所示。

    威联通NAS在重启时自动启动服务作业
  4. 3

    编辑 /etc/config/crontab文件。可以在putty中直接用命令操作: vi /etc/config/crontab 进入编辑,也可以用WinSCP中使用其内部编辑器进行编辑。

    (1)Crontab文件的每行由6个部分组成,如下图所示。前5部分是定时执行的时间,而第6部分是要执行的命令。当前面5部分全部使用*(中间用空格分隔)时,则此作业的启动时间为当NAS系统启动后立即自动执行。

    (2)标准的Crontab作业如下表所示(此表仅列出部分作业,并非全集)。

    (3)为了在系统重启时自动启动test.sh,应增加如下一行,并保存退出。

    * * * * * /bin/sh /share/CACHEDEV1_DATA/test.sh

    说明:5个*(中间以空格分隔)开头表示启动时会自动。

    威联通NAS在重启时自动启动服务作业
    威联通NAS在重启时自动启动服务作业
    威联通NAS在重启时自动启动服务作业
  5. 4

    (1) 更新 crontab 的状态。在putty中直接用命令操作: crontab /etc/config/crontab;

    (2)重启crontab。在putty中直接用命令操作:  /etc/init.d/crond.sh restart

    威联通NAS在重启时自动启动服务作业
  6. 5

    重启QNAP NAS主机。可以发现test.sh已经自动运行。

    威联通NAS在重启时自动启动服务作业
    END

注意事项

  • 勿在putty中直接用命令操作crontab -e 来编辑Crontab作业,此操作并不能真正保存作业信息。
  • QNAP的Crontab并不支持@root参数,使用@root并导致该作业无效,并且将自动从Crontab文件中删除掉该作业。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部