已经知道了群晖NAS的DSM默认不能直接使用crontab -e来管理计划任务,它的crontab由专门的/etc/crontab文件来管理,而在这个文件中存在执行者的信息,这与普通crontab -e分别存在于用户各自的文件中有所不同。
想要优雅的使用群晖的crontab只能是在root下编写或者执行,但是默认群晖是不允许root直接登陆的,所以我们要先切换到root下:
#指令回车之后,输入当前登陆用户的密码,密码不会显示任何信息,请不要以为没有输入进去 sudo -i :~$ sudo -i Password: #此处不会有任何反应或者提示,输完直接回车就行了,输入错误会有以下信息 Sorry, try again. Password: root:~# #进入root成功!
之后编辑/etc/crontab,添加自己的脚本
#只有root可以进入,crontab存放在/etc/之下 vim /etc/crontab
和普通的crontab不一样,他多加了一列用户,譬如root,所以是
minute hour mday mouth wday who comman
*例
MAILTO="" PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin #minute hour mday month wday who command 14 7 * * 6 root /usr/syno/bin/synoschedtask --run id=2 30 5 * * 2 root /usr/syno/bin/synoschedtask --run id=1 0 0 30 * * root /usr/syno/bin/synoschedtask --run id=3 0,30 12,13 * * * root /usr/syno/bin/synoschedtask --run id=5 0 0 * * * root /usr/syno/bin/synoschedtask --run id=4
最后重启下crontab,目前DSM7已经不在使用synoservice了,所以请直接使用systemctl来重启服务
#不要用网络上的,因为synoservice在DSM7上已经不支持了 systemctl restart crond
在策略上,采取7+4+3的备份冗余:过去七天(超过7天的删除)+过去4个礼拜(超过30天的删除)+过去3个月(超过100天的删除),总共14份备份。场景分别是频繁操作的过去一个礼拜能追溯每天的,中等操作频率的每个礼拜一次的可以追溯回到之前四个礼拜的,低频率操作的可以追回三个月的。按照项目重要性也能加多过去两年的两个备份,但是看起来没什么必要,除非一年才碰一次服务器,这种频率基本在本地留一份月备份的副本就够了,不需要删除个管理。