tar命令做备份和恢复

本文提供一个简明常用的系统备份方法,使你可以迅速完成最常用最基本的备份工作。需要更详细的可参考:鸟哥的LInux私房菜>第二十五章 Linux 浞莶呗

df -lh 查询文件系统

一、tar备份恢复系统

1 、备份

当前系统下,

# tar-czpv -f/media/.../backup_$(date +%Y-%m-%d)_img.tar.gz/--exclude=/media/*--exclude=/lost+found--exclude=/proc/*--exclude=/dev/*--exclude=/sys/*2>>/media/tar.errors.log

其中,--exclude= 参数列出了不需要备份的目录,可以根据实际情况自行调整,注意:不要忘记备份/boot目录或分区,注意不要备份存储备份文件的目录。特别注意:--exclude=选项要放在后面备份存档名和备份目标后面,而且目录一定不能使用/xxx/的形式,必须是/xxx/*或/xxx的形式。 另外,建议使用 2>> 将错误输出定向到 tar.errors.log文件,留待备份后查看有无错误。

【注意!】 -f --指定archive或设备名称。这个选项其实是必选的!而且这个参数后面要紧跟文件名,不能再有其它参数。-p选项这里可能不需要,似乎只对解压时起作用,见后面的tar --help。

【注意!】备份有时提示:“ ...忽略套接字(socket)” 。socketn案是用程式c用程式贤ㄋ使用的媒介,pipe亦同理,K非H碛匈Y料的n案,所以o浞荨

2、tar命令检查备份文档:

tar tvf backip.tgz | grep -v'.{66,}'-- 不显示其中每行字符数大于66个的行,其中“.”正则表达式中代表任何非换行符的字符。

tar tvf backip.tgz|grep ^d |egrep -v '(([^/])*/){3}' -- 只显示开头字符是d的行中不包含3个“/”的行。

3、还原

其它 Linux 系统或者 LiveCD/LiveUSB 下,

#mkfs.ext4 /dev/sda1 (这里也可能是sdb5等。如果已经有格式化的分区,这部不需要做。注意,最好其设备号sdaX与要恢复的系统原所在的设备号相同,否则/etc/fstab文件需要仔细修改了)

#mount -v /dev/sda1 /mnt/myrootdir

#cd /mnt/myrootdir

#tarxpvf backup_..._.tar.gz (z选项默认会识别,所以这里被去掉了)

#sudo mkdir-pvhome sys proc dev usr/portage/distfiles

#chroot. (将/mnt/myrootdir作为当前进程的根目录,如果恢复到的分区和备份文件所在分区不一致,可能会导致无法开机,这步和后面重装grub可避免此情况。chroot是在unix系统的一个操作,用于对当前的程序和它的子进程改变真实的磁盘根目录。一个被改变根目录的程序不可以访问和命名在被改变根目录外的文件,那个根目录叫做“chroot监狱(chroot jail,chroot prison)”)

#/usr/grub-install --recheck /dev/sda (如前面是sdb5,这步也还可能是sda,因为chroot的作用)

# exit

可以开启一个新的终端将挂载的目录umount

#umount -v /mnt/myrootdir

这步可以不做,直接关机,然后BIOS指定开机硬盘,开机即可。

3、其他摘录

系统备份(注意千万要排除存储备份文件自身的目录,这里为backup):

#tar czvf /backup/root-backup.tgz / --exclude proc --exclude dev --exclude backup

用LiveCD开机,

备份:tar cjvf bak.tar.bz2 /path_to_bak

还原:tar xjvfpbak.tar.bz2

不会丢失文件的任何信息

另外一博文

将.tgz文件解压在当前目录:
tar zxvf MY_NAME.tgz

将.tar.gz文件解压在当前目录:
tar zxvf MY_NAME.tar.gz
tar -xvf file.tar //解压 tar包

把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。  
$ tar czvf usr.tar.gz /home
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包 ,-f指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的
意思。
tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思

# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
解压Zip文件:提示一下,如果在Linux里面压缩,再解压会放在当前目录下,所以稳妥点建议指定解压的文件。
Linux下安装zip解压功能
liunx服务器上默认没有安装zip命令,所以使用时需安装:
apt-get install zip 或  yum install zip

linux安装unzip命令:
apt-get install unzip 或  yum install unzip

将文件解压到当前目录下的指定为test文件里面,如果不存在该文件夹会自动生成。
unzip -d ./test inception5h.zip
或者解压到当前文件下
unzip filename

 检验该Zip文件是否损坏
unzip -t inception5h.zip
会输出如下结果
Archive:  inception5h.zip
    testing: imagenet_comp_graph_label_strings.txt   OK
    testing: tensorflow_inception_graph.pb   OK
    testing: LICENSE                  OK

 解压gz文件在当前目录下
gunzip all.gz
解压和压缩rar格式的包
1.下载软件包,wget 建议在home目录下,执行下载
wget   https://www.rarlab.com/rar/rarlinux-x64-5.6.0.tar.gz
2.解压
tar  zxvf  rarlinux-x64-5.6.0.tar.gz
3.安装
cd rar
 make //如果提示拒绝,没有权限的话,改为 sudo make ,再输入登录密码
4.下面就可以解压和压缩了
rar  a etc.rar /etc/                  //压缩源文件到指定的路径下
rar x etc.rar                       //解压

原文链接:https://blog.csdn.net/fu6543210/article/details/79845781

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
河南长篇坠子MP3打包下载
最全家电维修大全视频教程、家电维修视频、电磁炉维修视频、空调维修视频、冰箱维修视频
秦腔戏曲选段mp3打包下载(共69个280M)
爱剪辑软件、模板、去片头片尾、加字幕、去水印、特效、视频制作教程、教学素材230G

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: