• Linux 关于tar分卷压缩 大文件拆分 split


    分卷压缩研究:
    要将文件test.pdf分包压缩成500 bytes的文件:
    tar czf - test.pdf | split -b 500 - test.tar.gz
    最后要提醒但是那两个"-"不要漏了,那是tar的ouput和split的input的参数。
    格式和语法:
    1.使用tar分卷压缩
    格式 tar cvzf - filedir | split -d -b 50m - filename
    样例:
    tar cvzf - ./dir | split -d -b 10m - dirname.tar.gz
    将./dir 打包,并切割为 10m 的包

    输出的文件为 filename00、filename01、filename02 …
    假设不加filename,则输出文件为 x00、x01、x02 …
    假设不加參数 -d。则输出aa、ab、ac …

    2.解压分卷

    cat dir* > dir.tar.gz
    tar xzvf dir.tar.gz
    cat dir.tar.gz* | tar -zxv
    

    现场环境

    tar cvf - /home/桌面/迁移 | split -d -b 2048m - AK.tar.gz
    cat AK.tar.gz.*  | tar -zxv
    

    示例:

    tar cvzf - AS-中间件|split -d -b 50m - AS.tar.gz
    cat AS.tar.gz* | tar -zxv
    OK 
    

    测试

    split -b 2048m AKAuxiliary.zip AKAuxiliary.tar.gz.
    cat AKAuxiliary.tar.gz.*  | tar -zxv
    OK 
    

    存在问题
    关于“no space left on device”(磁盘空间不足)问题

    解压报错

    gzip: stdin: not in 
    gzip formattar: Child returned status 1
    tar: Error is not recoverable: exiting now
    

    解决方案有两种。
    方案一:去掉解压参数中的z,执行命令改为:tar -xvf xx.tar.gz。
    该方案的原因是:下载的文件并不是“通过 gzip 过滤归档”所以添加参数z就无法正常解压。
    如果该方案依旧无法进行正常解压那就尝试第二中方案。
    方案二:
    就是本身压缩存在问题 建议换一台服务器进行操作

    第一步测试服务器是否能ping通
    ping ip

    远程scp拷贝

    远程拷贝scp
    操作格式与说明:

    scp -r local_file remote_username@remote_ip:remote_folder 
    local_file本地需要传输的文件 可以是/home/databak
    remote_username 远程服务器用户名
    remote_ip 远程服务器IP地址
    remote_folder 上传到远程服务器的目录 可以是/home/data
    
    示例:现场环境
    scp -r /root/桌面/迁移/ root@127.0.0.1:/usr/local/data/
    输入密码
    
  • 相关阅读:
    MYSQL读写分离
    AIR loadbytes executable code error 解决办法
    文本处理常用命令
    使用awk找出两个大文件的相同部分
    nginx修改php.ini无效的解决办法
    python 正则表达式反向引用的问题
    解决memcached错误:Catastrophic: event fd doesn't match conn fd
    php编译iconv错误解决办法
    grep剔除两个文件中相同部分
    周末闲话
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/15763441.html
Copyright © 2020-2023  润新知