日期:2014-05-16  浏览次数:20729 次

Linux----SSH三大模块与rsync增量备份

SSH版本:openssh

配置文件:/etc/ssh/sshd_config

PermitRootLogin yes #限制root用户登录

Port 22 #端口号

?

修改后要重启sshd服务:service sshd restart

?

SSH包含三个模块:ssh sftp scp

?

1.ssh

ssh user@ip

-2 :强制使用SSH2协议登录,安全性更高

-p port :指定端口

例如:ssh -2 -p 2188 wap@192.168.33.65

?

1.禁止空密码用户登录

2.root登录禁止(CentOS允许)

?

?

2.sftp

sftp user@ip

命令类似于ftp,但是一般很少使用这个命令

?

3.scp?

1)本地文件拷贝到远程主机

scp file user@ip:/path

?

2)远程主机拷贝到本地

scp user@ip:/path file

?

3)常用选项

-p:保持原有文件属性

-P:指定端口号

-r:复制目录

示例:

scp -P 2188 -rp /usr/local/dir wap@192.168.247.130:/usr/local

scp -P 2188 -rp wap@192.168.247.132:/home/hanqunfeng/test /usr/local

?

?

?

建立信任主机:

A:

建立密钥对:ssh-keygen -t rsa #在~/.ssh下会生成公钥(id_rsa.pub)和私钥(id_rsa)

拷贝公钥到B上:scp ~/.ssh/id_rsa.pub wap@192.168.247.132:/home/wap

?

B:以wap登录

查看/home/wap目录下是否存在.ssh目录,不存在则创建

cd ~

ll -d .ssh #不存在 mkdir .ssh

cat id_rsa.pub >>.ssh/authorized_keys

chmod 600 .ssh/authorized_keys?

chmod 700 .ssh

?

测试:

ssh -p 22 wap@192.168.247.132 #exit退出ssh

?

此时A访问B就不需要密码了。B访问A,按上面的方法反过来配置一遍即可。

?

?

rsync----增量备份工具

sync:将内存中的数据同步到硬盘上

特点:

方便增量备份

可镜像保存整个目录树和文件系统

保持文件的权限、时间、软硬链接

传输效率高

可以使用SSH加密通道

?

启用rsync:

vi /etc/xinetd.d/rsync?

disable = yes ====> disable = no #保存退出

重启xinetd:

service xinetd restart

如果没有安装xinetd,需要先安装:

yum install xinetd -y ?

chkconfig xinetd on

?

使用示例:

1.将远程目录备份到本地

rsync -arHz --progress --delete wap@192.168.247.132:~/test ./tem

--progress : 显示执行过程

?

2.将本地目录备份到远程服务器

rsync -arHz --progress --delete ./tem wap@192.168.247.132:~/test

?

说明:当目录中的内容发生变化,当再次执行备份命令时会将发生变化的部分备份过来,从而实现了增量备份。

?

属性说明:

-a : 保存文件属性

-r : 子目录递归处理

-H : 保存文件硬连接

-z : 备份文件传输时压缩处理

--progress : 在传输时显示传输过程

--delete : 删除目标备份没有的文件,同步删除

-e ssh : 使用SSH加密隧道传输 (推荐)

比如:rsync -arHz --progress --delete -e ssh ./tem wap@192.168.247.132:~/test

?