Linux脚本攻略第六章总结

来源:互联网 发布:什么叫大数据产业 编辑:程序博客网 时间:2024/06/05 14:53

1、tar用法

1.1、常用参数:

-r    在已归档的文件里再添加一些文件

-C  指定解tar包存放的目录

-A 将两个tar包合并

-u 只有文件有更新时才会添加到tar包中

--delete  从给定的归档文件中删除文件   :tar   -f  file.tar  --delete file1 file2 ....

--exclude filename  排除部分文件

2、cpio归档:多用于RPM软件包(Fedora使用这种格式),Linux内核的initramfs(包含了内核镜像)等。

3、gzip压缩

3.1、压缩文件

 gzip filename

3.2、解压文件

gzip   -d  filename.gz

gunzip filename.gz

3.3、zcat直接读取gzip格式的文件,无需解压

还有一种压缩工具:lzma、pbzip2

4、创建压缩文件系统

工具:squashfs

能够将2G-3G的数据压缩成一个700M的文件,Linux liveCD就是使用这种工具创建的

使用:mksquashfs   source  filename.squashfs

-e压缩时排除部分文件

5、rsync备份系统

-av

需要注意的就是备份目录的\斜杠问题:

例子:

rsync   -av  /home/test/   /home/backups    -----将源目录的内容,但不包括test目录本身,复制到backups目录中

rsync  -av   /home/test   /home/backups     ------包括目录本身test,复制到backups目录中


rsync   -av   /home/test   /home/backups/     ------目的目录末尾加\,则会将源目录的内容复制到目的端目录中

rsync  -av   /home/test   /home/backups        -------目的目录末尾不加\,rsync会在目的端路径尾部创建一个同名目录,然后将源端目录内容复制到这个目录中


--excludefilename  排除文件

6、git基于版本控制的备份,多用于软件开发与代码维护中

配置实例:

NO.1进入需要备份的目录:

     cd   /home/data/source   ----将其作为需要被跟踪的目录源

NO.2设置并初始化远端备份目录,在远程主机中创建备份目录:

mkdir  -p  /home/backups/backup.git

cd /home/backups/backup.git

git  init  --bare

在源主机执行下列步骤:

NO.1在源主机中将用户详细信息添加到GIt:

git   config  --global   user.name   "zhenlq"

git   config   --global  user.email  "zhenlq@localhost.com"

NO.2初始化主机中需要进行备份的源目录,在源目录中执行下列命令:

cd /home/data.source

git  init

Initialized  empty  Git  repository  in /home/backups/backup.git/

git  commit  --allow-empty  -am "Init"

NO.3在源目录中执行下列命令来添加远程GIt目录并同步备份:

git     remote  add  origin  root@remotehost:/home/backups/backup.git

git   push  origin  master

No.4为git跟踪添加或删除文件

git  add  *

也可以添加部分;git add  *.txt

删除不需要跟踪的文件或文件夹

git  rm  file

也可以使用通配符:git  rm  *.txt

NO.4检查点或标注备份点

git   commit  -m  ”Commit Message“

我们需要定期更新远程备份,设置定时任务

0 */5  *  *   *    /home/data/backup.sh

其中backup.sh脚本内容:

cd /home/data/source

git  add .

git  commit  -am "Backuo taken at @ $(date)"

git push

NO5恢复备份:git   clone   user@remotehost:/home/backups/backup.git

7、fsarchiver创建全盘镜像

NO.1创建文件系统/分区备份

fsarchiver  savefs   backup.fs   /dev/sda1   -----backup.fs  是最终的备份文件



0 0
原创粉丝点击