You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux递归复制文件时跳过不存在/损坏文件/目录方法咨询

故障VM文件恢复:跳过错误的文件复制方案

单条命令方案(推荐用rsync)

直接用rsync是最省心的选择,它天生适配这种需要跳过错误、保留目录结构的场景:

rsync -av --ignore-errors --exclude="lost+found" /path/to/source /path/to/target

参数说明:

  • -a:归档模式,自动保留文件权限、目录结构、时间戳等元数据
  • -v:显示复制进度和细节,方便跟踪恢复状态
  • --ignore-errors:遇到无法访问、损坏的文件/目录时自动跳过,继续处理其他文件
  • --exclude="lost+found":可选,排除系统自动生成的lost+found目录(无需恢复时可加)

如果一定要用cp,可以把错误输出重定向到空设备,同时开启递归复制:

cp -R /path/to/source/* /path/to/target 2>/dev/null

注意:cp遇到某些严重错误时可能终止整个复制流程,稳定性不如rsync。

自定义bash脚本(适合需要错误日志的场景)

如果需要记录哪些文件/目录无法访问,方便后续排查,可使用以下简单脚本:

#!/bin/bash
SOURCE="/path/to/source"
TARGET="/path/to/target"
ERROR_LOG="copy_errors.log"

mkdir -p "$TARGET"

# 先创建对应目录结构
find "$SOURCE" -type d -exec mkdir -p "$TARGET/{}" \; 2>> "$ERROR_LOG"
# 逐个复制文件,错误写入日志
find "$SOURCE" -type f -exec cp {} "$TARGET/{}" 2>> "$ERROR_LOG" \;

这个脚本会跳过损坏文件,同时把所有错误信息记录到copy_errors.log中,不会中断整个恢复流程。

内容的提问来源于stack exchange,提问作者T_H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:50:12