linux – 在保留所有属性的同时将文件移出卷然后再打开?
我有一种情况,我正在测试一个有一些元数据问题的新文件系统.所有文件都完好无损,但我最终必须将每个文件有效地移动到另一个卷,然后立即返回原位.
很明显,mv不会这样做,因为它无法保留所有属性(特别是所有时间戳).当我执行cp -p / original / path / to / file / tmp / location / file,rm / original / path / to / file,cp -p / tmp /时,我正在考虑更多的查找命令. location / file / original / path / to / file,rm / tmp / location / file.也许所有这些命令都在脚本中传递给find exec? 我不确定这里最有效的方法,但是想要一些快速的输入,以确保我覆盖我的所有基础,并有一个精确的命令,不会让我哀悼某种数据属性丢失,当它说的都是并做了.我有几百千兆字节来回移动所以我需要尽可能小心和高效. 这是我到目前为止提出的解决方案,并且会喜欢一些输入: Shell脚本safe_move.sh: #!/usr/bin/env bash SRC_FILE_AND_PATH="$1" SRC_BASENAME=`basename "$1"` DESTINATION_PATH="/mnt/tmp" cp -a ${SRC_FILE_AND_PATH} ${DESTINATION_PATH}/${SRC_BASENAME} rm -f ${SRC_FILE_AND_PATH} cp -a ${DESTINATION_PATH}/${SRC_BASENAME} ${SRC_FILE_AND_PATH} rm -f ${DESTINATION_PATH}/${SRC_BASENAME} 这将被称为: find /path/to/move -type f -exec safe_move.sh {} ; 有任何想法或更正? >我确实发现了一个问题,由于修改了文件夹的子项… hrm,这将导致ALTER文件夹日期.不知道如何克服这个问题. 解决方法
考虑将tar与-p( – preserve)一起使用.那样你也有一个好的tarball来保持…你知道……以防万一.我所知道的任何元数据都不会被遗忘.如果发现我错了,我也不承担任何责任. =)
编辑:符号链接日期将不会被保留!看到?!永远不要相信具有root权限的猫. 其他选项包括cplv,但您没有至少与源大小相同的卷组. cpdup也是.如果它全部在同一个卷组上,则rsync可能是一个选项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |