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
?