最新消息: 新版网站上线了!!!

linux下使用rsync同步备份

假如我们客户端 client xx.240 同步 服务器端server xx.58 ,即 xx.240备份 xx.58 的数据,我们这么配置。

1.首先设置xx.240免密码登录xx.58

我们可以使用ssh 公钥来达到目的,ssh 公钥是ssh 认证的一种方式,能实现免密码登录,比密码安全很多。生成后在用户的目录下面会有个.ssh文件夹,里面保存的就是ssh 信息
创建公钥

xx.240执行

ssh-keygen 

一路的enter

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
60:67:40:15:df:28:c5:c5:18:e3:76:a8:58:85:32:ec root@Kvmla-20150501591
The key’s randomart image is:

用户目录下面.ssh文件夹下面会有两个文件

-rw------- 1 root root 1675 May  6 23:23 id_rsa
-rw-r--r-- 1 root root  404 May  6 23:23 id_rsa.pub

id_rsa是私钥
id_rsa.pub是公钥

我们将公钥复制到服务器端

ssh-copy-id -i .ssh/id_rsa.pub "-p 2222 root@xx.58" 

The authenticity of host ‘[xx.58]:2222 ([xx.58]:2222)’ can’t be established.
RSA key fingerprint is xxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘[xx.58]:2222,[xxx]:xx’ (RSA) to the list of known hosts.
root@xx.58’s password:
Now try logging into the machine, with “ssh ‘-p 222 root@ss.yh.gs'”, and check in:

~/.ssh/authorized_keys

to make sure we haven’t added extra keys that you weren’t expecting.

提示了类似如上的信息表示成功了,

可以在xx.240机器上试试,是否能免密码登录,可以的话说明成功了。

ssh -p 2222 root@xx.58

PS:公钥是可以公开的,私钥一定得妥善保管;

2.配置Rsync来同步文件
安装

sudo apt-get install rsync
yum install rsync

rsync命令参数
-v,–verbose 详细模式输出;
-a,–archive 归档模式,表示以递归的方式传输文件,并保持所有文件属性不变,相当于使用了组合参数-rlptgoD;
-r, –recursive 对子目录以递归模式处理;
-l, –links 保留软链结;
-p, –perms 保持文件权限;
-t, –times 保持文件时间信息;
-g, –group 保持文件属组信息;
-o, –owner 保持文件属主信息;
-D, –devices 保持设备文件信息;
-H, –hard-links 保留硬链结;
-S, –sparse 对稀疏文件进行特殊处理以节省DST的 空间;
–delete 删除那些DST中SRC没有的文件;
-z, –compress 对备份的文件在传输时进行压缩处理;

rsync --delete -av -e "ssh -p 2222" xx.58:/home/wwwroot/ ./bak

这样就会把文件同步下来

转载请注明:谷谷点程序 » linux下使用rsync同步备份