我正在将文件从我的服务器存储区域移动到NAS(网络附加存储)。 move命令在我的脚本中并且每天执行。如: -
find . \ -mtime +0 -exec mv {} target \ ;
根据我的知识,上面的命令应该在24小时和48小时之间移动最后修改的文件。默认情况下,移动的文件获得64的权限。现在我想将这些移动文件的权限更改为644。请注意,文件从服务器移动到NAS。我在脚本中添加了以下命令
find target \ -mtime 0 -exec chmod 644 {} \ ;
注意上面的命令中的0而不是+0。但这似乎不起作用。是因为due -mtime +0表示最后一次修改b / w 24hr和48hr,并且当文件从服务器移动到NAS时保留。在这种情况下,我将提供适当的mtime值。我知道一个简单的方法可能是将其作为mtime -3
赋予它,它将修改所有修改时间少于72小时的文件的权限。但我不希望这个命令在所有3天的移动文件上运行,而只是在通过我的命令移动的文件上运行
find . \ -mtime +0 -exec mv {} target \ ;
答案 0 :(得分:1)
我不明白反斜杠 您的查找将所有文件复制到一个目标文件夹 当你对它好的时候,(并且在所有dirs中都有写权限)你可以做到
find . -mtime +0 -exec chmod 644 {} \; -exec mv {} target \;
您可以使用
更多地控制简单的目录/文件(没有空格/其他特殊字符)find . -mtime +0 | while read file; do
filename=${file##*}
mv ${file} ${target}
chmod 644 ${target}/${filename}
done