• Linux文件比对,批量复制


    --背景

     工作中突然有一天文件服务器空间满了,导致文件存不进去,立马换了另外一台服务器作为文件服务器,将服务器挂载上去,原来的服务器修复之后需要重新换回来,但是需要将临时使用的服务器内的文件迁移至原文件服务器。

    --解决办法

    第一种方法:

    第一步,记录一个文件夹的树结构
    find /home/jp/UploadFile/vehicle/2019/03/16 -maxdepth 1 -printf "%P " | sort > /home/jp/temp
    第二步,将比对文件夹的树结构和记录的树结构做比对
    find /home/jp/UploadFile/vehicle/2019/03/16/16 -maxdepth 1 -printf "%P " | sort | diff /home/jp/temp - > /home/jp/diff.txt
    第三步,将比对结果按格式输出
    awk '/>/{printf("%s%s%s ","cp /home/jp/UploadFile/vehicle/2019/03/16/16/",$2," /home/jp/UploadFile/vehicle/2019/03/16")}' /home/jp/diff.txt > /home/jp/cp.txt

    在linux上执行生成的文件内的命令即可

    第二种方法:

    直接使用scp 命令   scp 源端目录  目标端用户@目标端IP:目标端目录 如 scp /home/test/test.jpg  root@192.168.1.18:/home/test/ 

    需要注意的是文件可以直接用上面的命令,但是直接跨服务器复制文件夹的话 需要在 scp 后面加上 -r 如: scp -r /home/test/  root@192.168.1.18:/home/test/ 

    ----------将文件复制过去后需要注意源端文件和文件夹权限问题,如果用户没有权限将访问不了对应资源-----------

  • 相关阅读:
    zeplin 登录效果实现
    instanceof 是如何工作的
    JavaScript版—贪吃蛇小组件
    C#+HtmlAgilityPack—糗事百科桌面版V2.0
    Google自定义搜索引擎
    百度网盘资源搜索器
    CSS元素类型
    CSS盒子模型
    Android调用Web服务
    无法将匿名方法转换为System.Delegate
  • 原文地址:https://www.cnblogs.com/liwei1994/p/10574044.html
Copyright © 2020-2023  润新知