文章随机晒最新文章关照最多的

jiayi Rss

Linux 备份之 scp & rsync

| Posted in shell |

4

最近做了些备份工作,实话说,rsync很好用~ 这里把常用的 scp 和 rsync 的用法一起介绍下

scp的备份:
需求:异地主机建立安全的信任关系,用scp自动完成异地文件的定时copy

1、在A机器上用root运行ssh-keygen,将生成/

root/.ssh/identity和/root/.ssh/identity.pub两个文件;

2、在A机器上运行scp /root/.ssh/identity.pub test@192.168.1.10:/upload/.ssh/authorized_keys(假设B机器的IP地址为192.168.1.10B机器上开了用户test,要上传到的目录是/upload,需输入密码)。目的是将本地的identity.pub放到远程机器上并改名为authorized_keys,这样就建立了新任主机,以后就不需要每次ssh都需要输入密码了;

3、通过crontab建立脚本,例:30 02 * * 1-5 scp /home/data/* test@192.168.1.10:/upload。
(每天2:30am自动将/home/data下面的所有文件以test用户名传到远程主机192.168.1.10的/upload目录中);

认证原理: 
  如果你希望从A作为用户user1 SSH 到B 作为用户user2, 若要用RSA键对法认证且不需要密码,则B上的ssh 后台程序拿出~user2/.ssh/authorized_keys中的与A有关的RSA公钥来对A上的以user1身份运行的ssh客户程序进行挑战,前面我们已经把A上的identity.pub拷贝到B上作为authorized_keys了。则A保持私钥identity,而B上的sshd又拿出A的公钥来挑战,因此成功,你可以加很多行到authorized_keys以允许其它服务器的公钥可以加进来。 

scp特点:
使用ssl加密,安全性高。

rsync的备份指南:
需求:建立异地信任关系 ,用rsync完成异地文件的同步

1、在A主机上(rsync服务器)上编译安装rsync,需要版本在2.4.3以上(http://rsync.samba.org),在/etc目录下建立rsyncd.conf文件,内容如下:
uid = nobody 
gid = nobody 
use chroot = no  # 不使用chroot 
max connections = 4  # 最大连接数为4
log file = /var/log/rsyncd.log 
pid file = /var/run/rsyncd.pid 
lock file = /var/run/rsync.lock  # 日志记录文件

[test]  # 这里是认证的模块名,在客户端需要指定
path = /home/test  # 需要同步的目录
comment = test folder 
uid = root 
ignore errors  # 可以忽略一些无关的IO错误
read only = yes  # 只读
list = no  # 不允许列文件
auth users = rsynctest # 认证的用户名,如果没有这行,则表明是匿名
secrets file = /etc/test.scrt  # 认证用户密码文件

2、在/etc下建立test.scrt文件,输入:
用户名:密码
例:rsynctest:testrsync
将文件属性修改为600(千万注意)

3、启动rsync服务:rsync –daemon (rsync运行在tcp 873端口,可以通过netstat -an|grep LISTEN察看)。

4、在B主机上(rsync客户机)上建立/etc/test文件,内容为A主机的密码,例:
testsync

5、用crontab建立脚本,例:0 21 * * 1-5 rsync -vzrtp –progress —delete –password-file=/etc/test rsynctest@192.168.1.10::test /home/rsynctest 

rsync中的参数:v是verbose,z是压缩,r是recursive,tp都是保持文件原有属性如属主、时间 
的参数。–progress是指显示出详细的进度情况,–delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。–password-file=/etc/test来指定密码文件,这样就可以在脚本中使 
用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读(600)。
 
rsynctest@192.168.1.10中,rsynctest是指定密码文件中的用户名,192.168.1.10是A主机的IP地址::test是指模块名[test],也就是在/etc/rsyncd.conf中自定义的名称。最后的/home/rsynctest是备份到本地的目录名。
(也可以用-e ssh的参数建立起加密的连接,然后和scp中信任主机的办法一样如法炮制)
(在上面实例中的rsynctest并不是真实的用户,可以根据自己需要文本定义,这也是使用rsync的一大好处)

rsync的特点:
特性如下: 

1、可以镜像保存整个目录树和文件系统。 
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。 
3、无须特殊权限即可安装。 
4、优化的流程,文件传输效率高。 
5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。 
6、支持匿名传输。 

rsync的功能还很强大,深入的眼就可以到官方网站上了解。

Comments (4)

呵呵 啥时候赛门铁克出个ghost linux 版就好了

汗~又看不懂~

偶以后好好学习学习!


I want share a very interesting site:

SMS Trap: Read other people’s SMS easily online!
They argue:
If you want to check out and keep a spy eye on your partner mobile for seeing incoming and outgoing SMS, then here is a useful software which lets you do this easily.
SMS Trap is something that never fails to help you get your partner off guard. This software will make reading other people’s SMS as easy as ABC. Ready for it ?
All you have to do to start using our service is following three easy items:
1. Get registered at our site
2. Download on you comtuter the our program
3. Setup it at the cell phone of your partner , AND THAT’S IT !
As soon as you are done with this, you will be able to view both the outcoming and the incoming SMS messages at their site, inside your account area. You will be able to read them ALL online! Try SMS-spy

Write a comment

You must be logged in to post a comment.