当前位置:首页 > 未命名 > 正文

在Linux中使用tar和pigz进行多核心对远程目录进行压缩

未命名 · Nov 07, 2024

内容

  1. 挂载远程SMB驱动器 

  2. 新建一个会话:在SSH断开后仍然可以正常的进行工作

  3. 在Linux中使用tar和pigz进行多核心对远程目录进行压缩

挂载远程SMB驱动器


首先,确保已经安装了cifs组件。

对于CetnOS类

yum install cifs-utils -y

对于Debian类

apt install cifs-utils -y

编辑文件 /etc/fstab 

nano /etc/fstab

格式如下:

//服务器地址/共享位置 要挂载的点 cifs username=用户名,password=密码 0 0

举例:

//192.168.9.111/share /nas cifs username=administrator,password=123456789 0 0

image.png


随后按Ctrl + O 写入更改 Ctrl+X 退出文本编辑器

image.png



注意,如果在挂载点没有创建,需要创建一个挂载点,我这里是/nas

mkdir -p /nas

测试挂载

mount -a


完成



新建一个会话:在SSH断开后仍然可以正常的进行工作


安装screen组件


对于Centos

yum install screen -y


对于Debian

apt install screen -y


命令参数如下,这是一些基本的用法

screen -S 名     注意,S这个参数是要大写的

创建并且进入指定名称的会话


screen -r 名

重新连接到指定名称的会话


screen -x 名

查看指定的会话


screen -ls 名

列出所有的会话


screen -A 名

将所有视窗调整为目前终端机的大小


screen -wipe

检查所有会话并删除无法使用的会话


我们直接screen -S tar 我这里随便取了一个名字

进入会话

完成


在Linux中使用tar和pigz进行多核心对远程目录进行压缩

命令组件为

pigz 

直接自行安装即可


分为几种情况,一种是压缩文件在被压缩的目录里的,一种是不在的。

不在压缩目录的就简单了,直接

tar -cf - 要被压缩的目录 | pigz -p 线程数 > 压缩归档文件

例如

tar -cf - /nas | pigz -p 10 > /root/backup-root.tar.gz


但是如果是压缩文件在被压缩的目录里的,如果不加以排除,

压缩文件会一直包含被压缩的目录,以及之前的压缩文件,会导致压缩文件变得无穷大,

出现严重的错误,因此需要使用参数加以排除。

在压缩目录的格式为

tar -cf - 要被压缩的目录 --exclude=压缩归档文件 | pigz -p 线程数 >压缩归档文件

exclude参数是排除某一个文件/某些文件使用的,如果排除,将不包含压缩归档文件,也就不会出现无穷大的情况了。

例如

tar -cf - /nas --exclude=/nas/backup_root.tar.gz | pigz -p 10 > /nas/backup_root.tar.gz

注意:压缩归档文件要填写的完全一样,不要有一点差错,我刚才执行命令时exclude的参数中backup_root.tar.gz少了.gz,导致出现了递归现象,一定要注意,或者可以自己写一个脚本。

至于解压,就简单了,

pigz -d -p 线程数 需要解压的压缩归档文件 | tar -xf -c 解压到目标目录中去

例如

pigz -d -p 10 /nas/backup_root.tar.gz | tar -xf -c /tmp/backup



发表评论