当前位置: 首页 > news >正文

[Linux] Linux tar文档管理 系统间复制文档

目录

Linux tar文档管理

tar命令

tar包管理

打包

查看包中文件

提取

Linux系统间复制文档

Linux之间传输

scp命令

rsync命令

实战:Rsync+Sersync实现文件实时同步

部署Rsync服务

安装软件包

配置rsync

客户端配置和测试

部署Sersync服务

安装软件包

配置Sersync

运行Sersync

测试

配置systemd管理Sersync


Linux tar文档管理

tar命令

创建:

  • tar -cf etc.tar /etc

  • tar -czf etc.tar.gz /etc (-z指定压缩格式为gzip)

查看:

  • tar -tf etc.tar

提取:

  • tar -xf etc.tar -C /tmp/

  • (-C : 指定提取目录)

语法:

tar包管理

打包

#创建tar包,创建时需注意用户要有权限访问目标文件(root用户可以打包所有文件)
[11:27:16 root@server-znf ~]# tar -cf etc.tar /etc

打包时会将文件的第一个字符/剔除掉。解压时默认解压到当前位置。

#用gzip压缩
[11:51:03 root@server-znf ~]# tar -zcf etc.tar.gz /etc

再次打包时,如果存在相同的tar包会直接覆盖掉。

#可以通过添加日期确保每天打包的文件名不一致
[11:57:29 root@server-znf ~]# tar -cf etc-$(date +%y%m%d).tar /etc

查看包中文件

tar -t -f etc.tar
#配合grep过滤
tar -t -f etc.tar | grep etc/host

提取

#提取所有文件
[18:54:11 root@client-znf ~]# tar -xf etc.tar#查看其中一个目录
tree -L 1 etc/yum#提取部分文件
tar -t -f etc.tar | grep etc/host

Linux系统间复制文档

Linux之间传输

scp命令

安全复制,基于ssh协议,也就是说Linux服务器要开启ssh服务

#将client中的vmlinuz-4.18.0-553.el8_10.x86_64发送给server
scp /boot/vmlinuz-4.18.0-553.el8_10.x86_64 root@server:
#打包
tar -czf etc.tar.gz /etc
#将etc.tar.gz发送到server中的tmp目录下
scp etc.tar.gz  root@server:/tmp
#远程看server的tmp目录
ssh root@server ls /tmp
#-r:复制目录  将/etc/selinux/目录复制到server的家目录下
scp -r /etc/selinux/ root@server:
#将多个目录复制到server的家目录下
scp -r /etc/hosts /usr/share/doc/cronie/ server:

rsync命令

Rsync具有本地与远程两台主机之间的数据快速复制同步镜像、远程备份等功能,该功能类似scp,但是优于scp功能,还具有本地不同分区目录之间全量及增量复制数据。

Rsync同步数据镜像时,通过“quickcheck"算法,仅同步大小或最后修改时间发生变化的文件或目录,当然也可以根据权限,属主等属性变化的同步,所以可以实现快速同步。

安装rsync软件包:

mkdir test
touch test/file-{01..10}rsync -av test/ root@server:
rsync -av test/ root@server:touch test/file-06
rsync -av test/ root@server:

实战:Rsync+Sersync实现文件实时同步

Rsync:负责数据同步,部署在server端

Sersync:负责监控数据目录变化,并调用rsync进行同步,部署在client端

部署Rsync服务

安装软件包
dnf install -y rsync-daemon
配置rsync

本次实验使用验证用户同步

#准备同步目录
[15:14:33 root@server-znf ~]# mkdir -m 777 /backup
#配置文件
[15:14:44 root@server-znf ~]# vim /etc/rsyncd.conf

添加以下配置:

[backup]
comment = backup
path = /backup
read only = no
auth users = rsync
secrets file = /etc/rsyncd.secrets
#创建用户凭据文件
[15:16:44 root@server-znf ~]# echo 'rsync:redhat' > /etc/rsyncd.secrets
[15:17:30 root@server-znf ~]# chmod 400 /etc/rsyncd.secrets
#启用并启动rsyncd服务
[15:18:02 root@server-znf ~]# systemctl enable rsyncd --now

#配置防火墙
[15:19:07 root@server-znf ~]# firewall-cmd --add-service=rsyncd
[15:19:34 root@server-znf ~]# firewall-cmd --add-service=rsyncd --permanent 
客户端配置和测试
#准备密码文件
[15:23:26 root@client-znf ~]# echo redhat > rsyncd.secrets
[15:23:52 root@client-znf ~]# chmod 400 rsyncd.secrets
#传输测试
[15:24:05 root@client-znf ~]# rsync -v --password-file=./rsyncd.secrets /etc/hostname rsync@server::backup

验证结果

[15:21:23 root@server-znf ~]# ls /backup/

部署Sersync服务

安装软件包
#解压文件
[15:30:13 root@client-znf ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz 
[15:31:54 root@client-znf ~]# ls GNU-Linux-x86/

配置Sersync

配置文件示例

<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5"><host hostip="localhost" port="8008"></host><debug start="false"/><fileSystem xfs="true"/><filter start="true"><exclude expression="^cache/*"></exclude></filter><inotify><delete start="true"/><createFolder start="true"/><createFile start="false"/><closeWrite start="true"/><moveFrom start="true"/><moveTo start="true"/><attrib start="false"/><modify start="false"/></inotify><sersync><localpath watch="/app_data"><remote ip="10.1.8.10" name="backup"/></localpath><rsync><commonParams params="-azP"/><auth start="true" users="rsync" passwordfile="/root/rsyncd.secrets"/><userDefinedPort start="false" port="873"/><timeout start="false" time="100"/><ssh start="false"/></rsync><failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><crontab start="false" schedule="600"><!--600mins--><crontabfilter start="false"><exclude expression="*.php"></exclude><exclude expression="info/*"></exclude></crontabfilter></crontab><plugin start="false" name="command"/></sersync><plugin name="command"><param prefix="/bin/sh" suffix="" ignoreError="true"/><filter start="false"><include expression="(.*)\.php"/><include expression="(.*)\.sh"/></filter></plugin>
</head>

将文件放至 GNU-Linux-x86/ 下覆盖

运行Sersync

#准备同步目录
[15:38:22 root@client-znf ~]# mkdir /app_data
[15:40:35 root@client-znf ~]# cp GNU-Linux-x86/sersync2 /usr/bin/
[15:41:32 root@client-znf ~]# sersync2 -o /root/GNU-Linux-x86/confxml.xml -d

测试

#server端监控目录 /backup
#用tree查看,每秒刷新一次
watch -n 1 tree /backup

客户端创建文件或目录

client:

[15:46:13 root@client-znf ~]# mkdir /app_data/testtxt

server:

客户端删除文件

[15:51:11 root@client-znf ~]# rm -fr /app_data/*

配置systemd管理Sersync

[15:59:11 root@client-znf ~]# cp /root/GNU-Linux-x86/confxml.xml /etc/sersyncd.conf
[15:59:26 root@client-znf ~]# vim /etc/systemd/system/sersyncd.service

文件内写入:

[Unit]
Description=SerSync server daemon[Service]
Type=forking
ExecStart=/usr/bin/sersync2 -o /etc/sersyncd.conf -d[Install]
WantedBy=multi-user.target
[16:07:35 root@client-znf ~]# systemctl daemon-reload
[16:07:43 root@client-znf ~]# systemctl enable sersyncd.service

http://www.xdnf.cn/news/1307863.html

相关文章:

  • Android 移动端 UI 设计:前端常用设计原则总结
  • 使用openssl创建自签名CA并用它签发服务器证书
  • c# WebAssembly,在网页上能运行多线程,异步,锁,原子加,减等代码吗
  • tailscale远程服务器连接局域网方案(解决境外服务器网速慢的问题)
  • OBOO鸥柏丨75寸/86平板企业办公会议触控一体机核心国产化品牌招投标参数
  • 企业运维规划及Linux介绍虚拟环境搭建
  • Jenkins Pipeline中参数化构建
  • 5 索引的操作
  • 惠普声卡驱动win10装机完成检测不到声卡
  • 每日任务day0816:小小勇者成长记之符文羊皮卷
  • ML307C 4G通信板:工业级DTU固件,多协议支持,智能配置管理
  • AI热点周报(8.10~8.16):AI界“冰火两重天“,GPT-5陷入热议,DeepSeek R2模型训练受阻?
  • c#Blazor WebAssembly在网页中多线程计算1000万次求余
  • MongoDB 聚合提速 3 招:$lookup 管道、部分索引、时间序列集合(含可复现实验与 explain 统计)
  • 完整设计 之 智能合约系统:主题约定、代理协议和智能合约 (临时命名)----PromptPilot (助手)答问之2
  • JavaEE 初阶第十九期:网络编程“通关记”(一)
  • 【Java学习】锁、线程死锁、线程安全2
  • 【C++】动态内存管理
  • 代码随想录Day52:图论(孤岛的总面积、沉没孤岛、水流问题、建造最大岛屿)
  • Ubuntu2204server系统安装后的初始化配置报错
  • ubuntu 20.04 安装anaconda以及安装spyder
  • GitHub PR 提交流程
  • 双向SSL认证之Apache实战配置
  • 从“Hello World”到“高并发中间件”:Go 语言 2025 系统学习路线图
  • 系统思考:情绪内耗与思维模式
  • linux服务器查看某个服务启动,运行的时间
  • DAY 46 通道注意力(SE注意力)
  • 【100页PPT】数字化转型某著名企业集团信息化顶层规划方案(附下载方式)
  • termios 线程 poll epoll进化 二叉AVL红黑树
  • 智能工厂生产监控大屏-vue纯前端静态页面练习