mcb*_*eav 6 filesystems macos automator
我试图自动化每周备份我的开发文件的过程.我想自动备份文件,过滤所有文件,删除过去7天内未修改的文件,但保留文件夹结构.例如,我将有许多名为index.js的文件,所以为了知道它们属于哪里,我希望维护文件夹结构,并且如果文件在过去7天内被修改,则该文件保留在其正确的文件夹中.到目前为止,我的过程一直是
这没问题.它复制所有29K文件.下一步是获取文件夹中的所有内容并将其过滤掉.
获取指定的Finder项目(刚刚复制的文件夹)
获取文件夹内容(对找到的每个子文件夹重复)
马上,我有一个问题.获取文件夹内容并检查重复每个子文件夹时发现大约有8,000个文件丢失.我似乎无法弄清楚造成这种情况的原因或如何解决这个问题.
如果我忽略了这一点并继续,我的下一步是过滤掉这些项目.我想删除在过去7天内未修改的项目,因为我想保留文件夹结构,我想确保该项目不是文件夹
设置为查找上次修改日期不是最近7天的文件(这应该抓取最近未修改的所有文件)
过滤器查找器项目
现在我过滤掉这些结果并确保获取所有相同的文件但没有文件夹
将Finder项目移至废纸篓
因此,如果我忽略了Automator最初获取文件夹内容时丢失的初始8,000个文件,并运行它,则无法按预期工作.它确实删除了很多文件,但是遗留了大量过去7天内没有修改过的文件,我无法弄清楚为什么有些文件被删除而有些文件被删除了.我不确定我的流程中是否存在缺陷或我在这里缺少什么.有人能指出我正在努力实现的目标吗?
if [[ ! -d ~/Downloads/backup ]]; then
mkdir ~/Downloads/backup
fi
cd ~/Downloads/temp/
find . -type f -newermt '7 days ago' -exec rsync -R {} ~/Downloads/backup \;
# You can change this -----^^^^ to hours as well!
Run Code Online (Sandbox Code Playgroud)
添加上面的代码,如图所示。你完成了!
首先,我以相反的方式做了。在您的工作流程中,您复制所有文件,然后过滤它们。在此工作流程中,我首先过滤文件,然后复制它们。
代码的第一行主要检查您的主目录的“下载”中是否没有备份目录。
第二行; 如果第一行为 true,则创建备份文件夹。
第三行结束此检查。
第 4 行查找过去 7 天内(“7 天前”)内修改时间 (-newer mt )的所有文件。对于符合此条件的每个文件,我使用rsync将它们复制到~/Downloads/backup,这是备份文件夹的默认路径。
| 归档时间: |
|
| 查看次数: |
367 次 |
| 最近记录: |