2023-03-27归档和传输文件

管理压缩的tar归档

创建备份和通过网络传输数据时,归档和压缩非常有用。用来创建和使用备份存档的其中一个最早也是最常见的命令是tar命令

  • tar包的归档和压缩
    -- 1、整合分散的数据
    -- 2、减小空间的占用
  • Linux中常见的压缩格式:
    -- .gz:gzip的压缩格式,压缩速度快
    -- .bz2:bzip2的压缩格式,不快不小
    -- .xz:xz的压缩格式,压缩最慢,压缩比例高
  • 打包格式:tar [option] /路径/压缩包名字 [option] 被压缩的数据源
  • 解包格式:tar [option] /路径/压缩包名字 [option] 被解包的路径
  • tar命令的常用选项
-c      #创建归档,打包
-x      #释放归档,解包
-f      #指定归档文件名称
-z、-j、-J    #调用.gz、.bz2、.xz压缩格式的工具进行处理
-t      #显示归档中的文件清单
-C      #指定释放路径
-v      #显示指令执行过程
  • 创建压缩存档案例
[root@serverb ~]# tar -jcf /home/user/log.tar.bz2 /var/log/
tar: Removing leading `/' from member names
[root@serverb ~]# tar -Jcf /home/user/log.tar.xz /var/log/
tar: Removing leading `/' from member names
[root@serverb ~]# tar -zcf /home/user/log.tar.gz /var/log/
[root@serverb user]# ls -lh
total 1.6M
-rw-r--r--. 1 root root 468K Mar 31 21:34 log.tar.bz2
-rw-r--r--. 1 root root 700K Mar 31 21:31 log.tar.gz
-rw-r--r--. 1 root root 378K Mar 31 21:34 log.tar.xz
#如果出现以下报错,是系统缺少bzip2软件包,需要安装
[root@serverb ~]# tar -jcf log.tar.bz2 /var/log/
tar: Removing leading `/' from member names
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
[root@serverb ~]# yum install bzip2

#查看归档
[root@serverb user]# tar -tf log.tar.gz
var/log/
var/log/tallylog
var/log/grubby_prune_debug
var/log/lastlog
var/log/wtmp
var/log/tuned/
var/log/tuned/tuned.log
var/log/audit/
var/log/audit/audit.log
var/log/qemu-ga/
... ...
  • 提取压缩存档解包
#不用-C选项指定解压路径,默认解压在当前路径
[root@serverb ~]# tar -zxf /home/user/log.tar.gz -C /tmp/
[root@serverb log]# tar -jxf /home/user/log.tar.bz2 -C /tmp/
[root@serverb tmp]# tar -Jxf /home/user/log.tar.xz -C /tmp/

在系统之间安全的传输文件

  • 使用secure copy传输文件scp命令
    运行此命令时,scp客户端将使用基于密钥的身份验证或以提示输入密码的方式向远程SSH服务器进行身份验证,就像ssh一样
[root@serverb ~]# scp -r /tmp/var/log/ root@192.168.2.100:/root/
The authenticity of host '192.168.2.100 (192.168.2.100)' can't be established.
ECDSA key fingerprint is SHA256:etAhB4GlCD3RMEkDMjBb3Kui1ULKK1ZeV03TRf/4pP8.
ECDSA key fingerprint is MD5:af:a3:a9:cb:8d:87:2d:74:eb:0e:b2:a8:aa:57:90:ad.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.100' (ECDSA) to the list of known hosts.
root@192.168.2.100's password:
tallylog                                                                                                                 100%   63KB   7.3MB/s   00:00
grubby_prune_debug                                                                                                       100%  193   330.3KB/s   00:00
lastlog                                                                                                                  100%  286KB  15.8MB/s   00:00
wtmp                                                                                                                     100%   60KB  17.5MB/s   00:00
tuned.log                                                                                                                100%   13KB  10.8MB/s   00:00
... ...
  • 使用安全文件传输程序传输文件
    要以交互式从ssh服务器上传或下载文件,请使用安全文件传输程序sftp。sftp命令的会话使用安全身份验证机制,并将数据加密后再与ssh服务器来回传输
#连接远程ssh
[root@serverb ~]# sftp root@192.168.2.100
root@192.168.2.100's password:
Connected to 192.168.2.100.
sftp>lcd /tmp/var/
sftp> lpwd
Local working directory: /tmp/var
sftp> lls
log
sftp> mkdir /root/bak/
sftp> cd /root/bak/
sftp> pwd
Remote working directory: /root/bak
sftp> put -r log/
sftp> cd log/
sftp> ls -l

在系统间安全地同步文件

  • 使用rsync同步文件和目录
    rsync命令是在系统之间安全复制文件的另一种方式。此工具采用的算法可通过仅同步已更改的文件部分来将复制的数据量最小化。它与scp的区别在于,如果两个服务器间的两个文件或目录相似,rsync将仅复制文件系统间的差异部分,而scp仍复制所有内容
  • rsync的常用选项
-n  #用于空执行,空执行是对执行命令时所发生的情况模拟,在正常运行之前使用-n选项
-a  #启用存档模式,这样可实现递归复制并开启很多有用的选项,以保留文件的大部分特征(递归方式同步整个目录树、同步符号链接、保留权限、保留时间戳、保留组所有权、保留文件所有者、同步设备文件)。\
不会保留硬链接,会增加同步时间,想要保留硬链接-H选项
-v  #可提供详细的输出。对于故障排查和查看实时进度非常有用
  • 可以使用rsync命令将本地文件或目录的内容和远程计算机上的文件或目录进行同步。也可以同步两个本地文件或目录的内容。
#两个本地文件同步,在源文件后面不加/会在目标文件下创建一个和源文件同名的子目录然后将文件内容一并同步
[root@serverb ~]# rsync -av /root/test /root/testdir
sending incremental file list
test/
test/file1.txt
test/file10.txt
test/file2.txt
test/file3.txt
test/file4.txt
test/file5.txt
test/file6.txt
test/file7.txt
test/file8.txt
test/file9.txt

sent 617 bytes  received 210 bytes  1,654.00 bytes/sec
total size is 0  speedup is 0.00
[root@serverb ~]# cd test
[root@serverb test]# cd ../testdir/
[root@serverb testdir]# ls
test
[root@serverb testdir]# cd test/
[root@serverb test]# ls
file10.txt  file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  file6.txt  file7.txt  file8.txt  file9.txt
[root@serverb test]# pwd
/root/testdir/test

#如果在源文件后面加上/,就只同步源文件内的内容到新目录
[root@serverb ~]# rsync -av /root/test/ /root/testdir
sending incremental file list
./
file1.txt
file10.txt
file2.txt
file3.txt
file4.txt
file5.txt
file6.txt
file7.txt
file8.txt
file9.txt

sent 604 bytes  received 209 bytes  1,626.00 bytes/sec
total size is 0  speedup is 0.00
[root@serverb ~]# cd /root/testdir
[root@serverb testdir]# ls
file10.txt  file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  file6.txt  file7.txt  file8.txt  file9.txt
  • 如果在源文件新加一些内容,rsync只会同步新加的内容
[root@serverb ~]# rsync -av /root/test/ /root/testdir/
sending incremental file list
./
file10.txt
file/
file/heihei

sent 357 bytes  received 65 bytes  844.00 bytes/sec
total size is 0  speedup is 0.00
#查看
[root@serverb ~]# cd testdir/
[root@serverb testdir]# ls
file  file10.txt  file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  file6.txt  file7.txt  file8.txt  file9.txt
[root@serverb testdir]# cd file
[root@serverb file]# ls
heihei
  • 两台服务器之间使用rsync同步
#从本地同步到远程目录
[root@serverb ~]# rsync -av /root/testdir root@192.168.2.100:/tmp
root@192.168.2.100's password:
sending incremental file list
testdir/
testdir/file1.txt
testdir/file10.txt
testdir/file2.txt
testdir/file3.txt
testdir/file4.txt
testdir/file5.txt
testdir/file6.txt
testdir/file7.txt
testdir/file8.txt
testdir/file9.txt
testdir/file/
testdir/file/heihei

sent 723 bytes  received 237 bytes  384.00 bytes/sec
total size is 0  speedup is 0.00
[root@myhost ~]# ls /tmp/testdir/
file  file10.txt  file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  file6.txt  file7.txt  file8.txt  file9.txt

#也可以从远程目录同步到本地
[root@myhost ~]# cd /tmp/testdir/
[root@myhost testdir]# touch newfile.txt  #远程目录创建新内容
[root@serverb ~]# rsync -av  root@192.168.2.100:/tmp/testdir/ /root/testdir/
root@192.168.2.100's password:
receiving incremental file list
./
newfile.txt

sent 47 bytes  received 339 bytes  110.29 bytes/sec
total size is 0  speedup is 0.00
[root@serverb ~]# cd /root/testdir/
[root@serverb testdir]# ls
file  file10.txt  file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  file6.txt  file7.txt  file8.txt  file9.txt  newfile.txt
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容