tar的高级用法+ssh 等

tar的高级用法_增量备份_SSH远程归档传送
https://blog.csdn.net/u011457628/article/details/19207355
1 档案分割
将目录进行增量归档并分割为100B
[root@server itsection]# tar -g snapshot.snap -zcpvf - test | split -b 100 - $(date +%Y%m%d%H%M%S).tar.
tar: test: Directory is new
tar: test/test1: Directory is new
test/
test/test1/
test/a
test/b
test/c
test/d
test/e
test/f
test/g
test/h
[root@server itsection]# ll
total 36
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.aa
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.ab
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.ac
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.ad
-rw-r–r-- 1 root root 14 Nov 27 20:23 20131127202321.tar.ae
-rw-r–r-- 1 root root 157 Nov 27 20:23 snapshot.snap
drwxr-xr-x 3 root root 4096 Nov 27 20:18 test

test目录增加新的文件后,再次归档就会按照snapshot.snap快照信息进行增量备份
[root@server itsection]# tar -g snapshot.snap -zcpvf - test | split -b 100 - $(date +%Y%m%d%H%M%S).tar.
test/
test/test1/
test/m
[root@server itsection]# ll
total 48
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.aa
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.ab
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.ac
-rw-r–r-- 1 root root 100 Nov 27 20:23 20131127202321.tar.ad
-rw-r–r-- 1 root root 14 Nov 27 20:23 20131127202321.tar.ae
-rw-r–r-- 1 root root 100 Nov 27 20:24 20131127202413.tar.aa
-rw-r–r-- 1 root root 100 Nov 27 20:24 20131127202413.tar.ab
-rw-r–r-- 1 root root 24 Nov 27 20:24 20131127202413.tar.ac
-rw-r–r-- 1 root root 159 Nov 27 20:24 snapshot.snap
drwxr-xr-x 3 root root 4096 Nov 27 20:24 test

恢复
每次增量备份需要单独恢复
cat 20131127202321.tar.a* | tar -zxvf -
cat 20131127202413.tar.a* | tar -zxvf -

2 通过ssh进行网络备份与恢复

传输到远程:tar czf - file| ssh server “tar zxf -”
示例:[root@server itsection]# tar cvfz - test | ssh 172.29.88.162 “cd /root/itsection/;tar -zxvf -”

压缩到远程:tar czf - file| ssh server “cat > file.tar.gz”
示例:[root@server itsection]# tar cvfz - test | ssh 172.29.88.162 “(cat > /root/itsection/ssh.backup.tar.gz)”

将本地压缩解压到远程:cat test.tar.gz | ssh server “tar zxf -”
示例:[root@server itsection]# cat test.tar.a* | ssh 172.29.88.162 “cd /root/itsection;tar -zxvf -”

将本地压缩解压到本地:ssh server “cat file.tar.gz” | tar zxf -
示例:

tar命令和ssh配合使用
https://blog.csdn.net/rosekin/article/details/18667291

有个朋友问到,如何在空间不是很富裕的情况,把文件从一个分区tar到另外一个分区,其实还有很多办法的,使用管道命令就可以实现

如:

#tar -cvf home |(cd /datavg35; tar -xvf -)—把home文件打包并解压到/datavg35下;

这里我们又想到另外一个问题,把tar的文件传输到另外一台服务器上(个人感觉这个用处对于大的文件,还是写个shell,先tar在ftp/scp).对于一些小文件且目标服务器空间不足的情况下也是可以考虑使用的.

–A机为源服务器,B机为目标服务器

/* 把A机的t11.txt 打包并传送到B机上 */

[root@erpdemo tmp]# tar cvfz - t11.txt|ssh erpprd “cat >t11.tar.gz”

t11.txt

/* 把A机的t11.txt 打包并传送到B机上的/tmp目录下 */

[root@erpdemo tmp]# tar cvfz - t11.txt |ssh erpprd “cd /tmp;cat >t11.tar.gz”

t11.txt

/将A机的t11.txt压缩文件,复制到B机并解压缩/

[root@erpdemo tmp]#zcat dir.tar | ssh 192.168.0.116 “cd /opt; tar -xf -”

/在A机上一边打包t11.txt文件,一边传输到B机并解压/

[root@erpdemo tmp]# tar cvfz - t11.txt |ssh erpprd “cd /tmp; tar -xvfz -”

在补充几个:

传输到远程:tar czf file| ssh server “tar zxf -”

压缩到远程:tar czf file| ssh server “cat > file.tar.gz”

解压到远程:ssh server “tar zxf -” < file.tar.gz

解压到本地:ssh server “cat file.tar.gz” | tar zxf -

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值