user scripts 是unraid下轻量的定时任务插件,可以定时运行自定义脚本,我用它实现定时任务(crontab),比如:
- 定时备份某个文件夹
- 定时删除备份文件夹内大于1个月的备份文件,以免爆仓
#我的使用简述:
比如我想实现如下功能,
- 每周打包备份/mnt/user/appdata这个目录,到/mnt/user/unraid/data/内
- 并且自动删除backup文件夹内超过30天的备份文件

1,在user scripts内点ADD NEW SCRIPT创建一个新的脚本,可以命名为appdata_backup
2,输入如下命令
tar zcvf /mnt/user/unraid/data/appdata/appdata_"$(date +"%Y%m%d")".tar.gz /mnt/user/appdata

命令意思是以appdata_(日期).tar.gz的文件名打包/mnt/user/appdata这个文件夹,并且放到/mnt/user/unraid/data/appdata这个目录下
3,将定时任务设为每个星期运行一次:Scheduled weekly

4,重复上述步骤,再新建一个定时任务用来自动清理旧的备份文件,可以命名为cleanup_appdata_backup,然后输入命令:
find /mnt/user/unraid/data/appdata/ -mtime +30 -type f -name "*" -exec rm -rf {} \;
意思是删除/mnt/user/unraid/data/appdata/这个文件夹下所有建立大于30天的文件。关于这个命令更多的用法可以参考本站另一篇文章 linux删除一定时间内的文件数据
5,将这个定时任务设置为每天运行一次。这样就可以防止备份存放的文件夹不会爆仓。

有任何问题欢迎留言,enjoy~