jojo's blog--快乐忧伤都与你同在
为梦想而来,为自由而生。 性情若水,风起水兴,风息水止,故时而激荡,时又清平……
BlogJava
首页
新文章
新随笔
聚合
管理
posts - 11, comments - 30, trackbacks - 0
Linux 下scp和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.10,B 机器上开了用户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的功能还很强大,深入的眼就可以到官方网站上了解。
posted on 2008-10-02 11:33
Blog of JoJo
阅读(2558)
评论(0)
编辑
收藏
所属分类:
Linux 技术相关
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
每日一记 2009/07/09 Sed Command Tutorial/Example
每日一记 2009/06/16 Linux的时间设置与同步 (NTP)
每日一记 2009/06/06 linux服务器配置之Sendmail配置
Rsync命令参数详解
每日一记 2009/06/03 screen处理后台任务
遍历两个日期之间天数的算法
Memcache工作原理
Mencache Introduction
how to monitor ibm mq from nagios
用nagios来监控网络服务器和网络服务
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(6)
给我留言
查看公开留言
查看私人留言
随笔档案
2009年6月 (1)
2009年1月 (2)
2008年12月 (1)
2008年10月 (8)
文章分类
Java 相关(2)
Linux 技术相关(44)
My Script(14)
Network 知识(1)
Programming 相关(17)
Tool 安装应用(5)
每日一记(44)
测试相关(1)
文章档案
2009年8月 (4)
2009年7月 (11)
2009年6月 (16)
2009年5月 (20)
2009年4月 (5)
2009年3月 (3)
2009年2月 (3)
2009年1月 (5)
2008年12月 (1)
2008年11月 (8)
2008年10月 (28)
新闻分类
Mobile(2)
新闻档案
2008年10月 (3)
相册
回忆往昔
缘分天空(1)
缘分天空(2)
记忆光阴
收藏夹
IT技术(1)
搜索
最新评论
1. re: 用nagios来监控网络服务器和网络服务
评论内容较长,点击标题查看
--kof
2. re: 不用密碼直接用 ssh 登入到遠端電腦
server$ chmod go-w ~/
server$ chmod 700 ~/.ssh
server$ chmod 600 ~/.ssh/authorized_keys
--Blog of JoJo
3. re: 每日一记 2009/06/16 Linux的时间设置与同步 (NTP)
评论内容较长,点击标题查看
--Blog of JoJo
4. re: 永远别动心
好个无欲则刚,受教。
--空山戊
5. re: 在MySql上实现Replication(Master 与 Slave 数据同步)
评论内容较长,点击标题查看
--Blog of JoJo
阅读排行榜
1. 2009流行语录(870)
2. 爱情四境界(486)
3. 爱须用心经营(427)
4. 新周刊:中国怎么想?中国人对世界的88个看法(373)
5. 永远别动心(357)
评论排行榜
1. [讨论]同学聚会,是温情还是尴尬?(1)
2. 永远别动心(1)
3. 爱情四境界(1)
4. 女人的一生,最好有几个男人?(0)
5. 爱须用心经营(0)