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 是最终的备份文件