CentOS下甚用备份工具
说明:CentOS备份工具有很多选择,但要看备份的数据是否符合你的备份工具,选择错误,往往会造成很多麻烦事.
第一类 本地化备份
1、cp 复制
改变(创建)inode所指向的block(在创建时,会分配新的block)。
[带目录复制]
cp -R
2、mv
mv 操作只是改变文件的inode,并没有对inode所指向的磁盘block做任何的改动。
3、dd
convert and copy a file
dd if=[STDIN] of=[STDOUT]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
cbs = byte 一次转换bytes字节。
例1:将文件sfile拷贝到文件 dfile中。
#dd if=sfile of=dfile
例2:创建一个100M的空文件
#dd if=/dev/zero of=hello.txt bs=100M count=1
[/dev/zero,是一个输入设备,你可你用它来初始化文件。]
4、tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc --exclude=/etc/passwd <==打包后,以 gzip 压缩,不包含/etc/passwd文件
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz <==查阅打包文件包含哪些文件
[root@linux ~]# tar -zxvf /tmp/etc.tar.gz <==解压
[root@linux ~]# tar -zxvf /tmp/etc.tar.gz -C /tmp <==解压文件到/tmp目录下
5、cpio
将/etc下的文件备份到/mnt下
cd /etc;find . -print | cpio -Bpdumv /mnt/ > /mnt/cpio.log 2>&1 &
6、ln
ln分硬连接和软连接
ln -s 源目标 目的目标
硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,文件同步变化;
软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,文件同步变化;
软链接是可以跨分区的,但是硬链接只能在同一分区内;
1、硬链接和原来的文件没什么区别,共享一个inode号(文件在文件系统上的唯一标识),软连接不共享inode,和原文件对应的inode有区别;
2、若原文件被删除,软连接不在可以访问,而硬链接可以访问。
7、rsync
rsync -auvz /data1/a /data2/a
-a 递归方式传输文件
-u 仅仅进行更新,忽略已存在的文件
-v 详细模式输出
-z 对备份的文件在传输时进行压缩处理
-r 对子目录以递归模式处理
-R 使用相对路径信息
--exclude=PATTERN 指定排除不需要传输的文件模式
--include=PATTERN 指定不排除而需要传输的文件模式
当然还有很多工具,这里暂不表。
第二类 远程备份
1 rsync
建立C/S模式
走tcp 873端口传输数据
[Server]
#yum install rsync -y
#vi /etc/rsyncd.conf
uid=nobody
gid=nobody
max connections=10 #最大连接数
use chroot=no #如果为true,那么在rsync在传输文件以前首先chroot到path参数指定的目录下
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
[test]
path=/opt/htdocs
read only = no #可以写入
hosts allow=10.0.0.21 10.0.0.22 #限制可以访问的客户端
启动rsync server
#rsync --daemon
[Client]
客户端往服务器端传输数据
rsync -auvz /etc/* SERVER-IP::test/
服务器端往客户端传输数据
cd /tmp;rsync SERVER-IP::test/* .
2 FTP
3 NFS
4 SCP
本文转自大角牛博客51CTO博客,原文链接http://blog.51cto.com/jingshengsun888/1169241如需转载请自行联系原作者
运维的戏子