• 文件打包及压缩


    (1)tar常用选项

    	c		//创建文件
    	v		//打印详细信息
    	f		//指定文件名
    	z		//调用gzip压缩
    	j		//调用bzip2压缩
    	J		//调用xz压缩
    	t		//查看压缩文件
    	x		//解压
    

    (2)打包压缩,建议对整个目录打包,而不是对目录下每个文件进行打包

    tar czf etc1-gzip.tar.gz /etc				//对/etc/目录进行打包压缩,调用gzip压缩
    tar cjf etc1-bzip2.tar.gz /etc				//对/etc/目录进行打包压缩,调用bzip2压缩
    tar cJf etc1-xz.tar.gz /etc					//对/etc/目录进行打包压缩,调用xz压缩
    注意:如果打包的目录是绝对路径会把路径的/去掉
    # ll etc*
    -rw-r--r-- 1 root root 15703277 May 11 16:48 etc1-bzip2.tar.gz
    -rw-r--r-- 1 root root 17931062 May 11 16:47 etc1-gzip.tar.gz
    -rw-r--r-- 1 root root 12649124 May 11 16:48 etc1-xz.tar.gz
    #file etc1-xz.tar.gz   查看文件类型
    总结:bzip2压缩速度最快,压缩比最小;xz压缩速度最快,压缩比最大
    

    (3)解压解包

    tar -tf etc1-bzip2.tar.gz				//查看压缩文件内容
    tar -xvf etc1-bzip2.tar.gz				//解压压缩包
    tar -xf etc1-bzip2.tar.gz -C /var/tmp	//-C重定向到/var/tmp目录下
    tar -xf etc1-bzip2.tar.gz 
    uzip xxx.zip							//解压zip文件				
    

    (4)tar实战用法

    1)mysql物理备份和恢复1

    #tar -czf /backup/mysql_$(date +%F).tar.gz /var/lib/mysql		//打包压缩
    # tar tf /backup/mysql_2018-05-11.tar.gz 			//如果打包压缩的时候目录是全路径,会默认把根/去掉
    var/lib/mysql/
    #rm -rf /var/lib/mysql*								//删除数据目录的所有内容
    #tar xf /backup/mysql_2018-05-11.tar.gz -C /		//打包压缩的时候目录是全路径(去掉了根),恢复的时候加上/即可,一定要注意,非常棒
    

    2)mysql物理备份和恢复2

    #cd /var/lib/mysql
    #tar czf /backup/mysql_$(date +%F).tar.gz *
    #tar tf /backup/mysql_2018-05-11.tar.gz | head -1		//打包的时候使用的是相对路径
    auto.cnf
    #rm -rf /var/lib/mysql*
    #tar xf /backup/mysql_2018-05-11.tar.gz -C /var/lib/mysql		//所以恢复的时候需要使用绝对路径
    

    3)本机拷贝海量小文件方式

    tar -czf - /etc | tar -xzf - -C /tmp				//创建压缩文件放到内存通过管道解压到/tmp目录下
    

    4)host A拷贝文件(海量文件)到host B

    常规方法:scp -r /etc 192.168.111.152:/tmp
    建议方法:
    	host B(关闭防火墙或允许执行端口) :	nc -l 8888 | tar -xzf - -C /tmp    //host B 打开一个套接字,接收这个套接字的压缩文件解压到/tmp目录
    	host A : tar -czf - /etc | nc 192.168.111.152 8888                       //host A 压缩/etc目录通过套接字传给192.168.111.152这个主机
    
  • 相关阅读:
    离线语音
    云知声语音开发
    自定义View -- 柱状图 我也来自定义个柱状图来玩玩
    android studio中如何替换gradle以防下载卡住
    如何查询当前手机的cpu架构,so库导入工程又出异常了?
    android 学习mvc 和 mvp 和 mvvm参考项目
    【整理】Android中EditText中的InputType类型含义与如何定义( 转 )
    Android点击EditText文本框之外任何地方隐藏键盘的解决办法
    Android开发 adb命令提示:Permission denied (转)
    Node.js-串行化流程控制
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9030646.html
Copyright © 2020-2023  润新知