zoukankan      html  css  js  c++  java
  • 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/ 

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

  • 相关阅读:
    aspx,ascx和ashx使用小结
    修改CKFinder上传路径
    【python】如何在某.py文件中调用其他.py内的函数
    SpringMVC+hibernate4事务处理
    Hibernate执行原生SQL返回List<Map>类型结果集
    fastjson对Date的处理
    fastjson 的简单说明及使用
    字符串作为freemarker模板的简单实现例子
    Hibernate SQL 查询
    Spring整合Hibernate,Druid(Maven)
  • 原文地址:https://www.cnblogs.com/liwei1994/p/10574044.html
Copyright © 2011-2022 走看看