群晖配置Crontab

已经知道了群晖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份备份。场景分别是频繁操作的过去一个礼拜能追溯每天的,中等操作频率的每个礼拜一次的可以追溯回到之前四个礼拜的,低频率操作的可以追回三个月的。按照项目重要性也能加多过去两年的两个备份,但是看起来没什么必要,除非一年才碰一次服务器,这种频率基本在本地留一份月备份的副本就够了,不需要删除个管理。全局备份管理