ssh端口修改后 rsync ssh 端口怎样同步到另一台服务器

下次自动登录
现在的位置:
& 综合 & 正文
linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录
最近需要写一个脚本备份各个服务器上的到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之。
ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令。
ssh loginuser@host_or_ip
##执行远程命令
ssh loginuser@host_or_ip commands
但通常要是执行命令的话,都是执行shell脚本,肯定不想每次自己再输入密码,就不能自动化也就少了快感啦。所以要让ssh能自动登录,方法好像有很多,这里就用尝试代价最小的,公钥认证的方式。具体操作见下:
A:为本地机
B:为远程服务器【被登录】
1、在A上生成ssh的私钥和公钥【生成的文件都在~/.ssh目录下】
ssh-keygen -t rsa
##需要3次回车
ssh-keygen -t rsa -P
##仅一次回车
2、把A的公钥内容传到B的用户目录的.ssh文件夹下的authorized_keys文件中
scp ~/.ssh/id_rsa.pub B_user@B_host_or_ip:~/.ssh/authorized_keys
##希望每次自动登录用什么用户,这里的B_user就用什么帐号,因为默认会考到这个帐号下.ssh中
注意:一定要把内容放到authorized_keys文件里,如果这个文件已经存在,那就追加到后面即可,不要覆盖了。
3、A再用ssh进行操作时就不需要输入密码了
ssh B_user@B_host_or_ip
##直接登录成功
SCP和ssh是一套的,只不过这个工具用来在linux之间进行文件传输的,用的和ssh一样的安全传输协议。所以在ssh能够自动登录之后,使用scp命令进行服务器间的文件复制也就不要手动输入密码了,其实这样此时已经可以实现shell脚本自动备份文件的功能了,因为scp就是一个服务器间的copy程序,scp就是安全copy的意思,scp常用的命令为:
scp /path/to/source user@des:/path/to/local
##本地赋值到远程
scp user@source:/path/to/source /path/to/local
##远程复制到本地
Rsync命令是一个远程同步程序,与scp相比,它可以以最小的代价备份文件,只备份有差异的文件,这样每次备份就少了很多时间,此外在传输协议上除了自身的协议之外,还支持以ssh的方式传输。只要加个ssh参数即可,常用的命令格式:
rsync -avH [ssh] /path/to/source user@des:/path/to/local
##本地同步到远程,推
rsync -avH [ssh] user@des:/path/to/source /path/to/local
##远程同步到本地,拉
同样的,这个命令在ssh能够自动登录后就可以不用输入密码就可以自动同步文件了,当然这个工具自己也可以支持不输入密码的命令,--password-file=/path/to/pwd,只不过还需要配置rsync服务,比较麻烦,以后有必要了再试。
shell能自动执行备份了,还有就是希望能定期自己备份,别老是人去触发,这个时候就用到linux的任务计划命令crontab,其常用的命令格式为:
* * * * * /command_path
前5个*依次代表
分钟:0-59
小时:1-23
日期:1-31
月份:1-12
星期:0-6(0表示周日)
还可以用一些特殊符号:
*: 表示任何时刻
,: 表示分割
  -:表示一个段,如第二端里: 1-5,就表示1到5点
/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
00 8,12,16 * * * /dataapp.sh
30 2 * * * /dataapp.sh
10 8,12,16 * * *
/dataapp.sh
10 8,12,16 * * *
/dataapp.sh
10 8,12,16 * * *
/dataapp.sh
&&&&推荐文章:
【上篇】【下篇】评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)linux下ssh+rsync配置
ssh 远程登录 sftp 文件共享 类似ftp ssh secure file transfer client scp 文件共享 类似cp ssh配置文件 /etc/ssh/sshd_config #PermitRootLogin yes 改成no 禁止root直接登录 #Port 22 改变ssh的默认端口号 要打开注释
ssh& 远程登录
sftp&&& 文件共享 类似ftp& ssh& secure
transfer client
scp&&& 文件共享 类似cp
ssh配置文件
/etc/ssh/sshd_config
#PermitRootLogin yes&&& 改成no 禁止root直接登录
#Port 22&&& 改变ssh的默认端口号&& 要打开注释
重启ssh服务
service sshd restart
登录& ssh& gwyy@192.168.111.130& 然后输入密码就好了
-2& ssh2协议&& 建议用ssh2 安全性会更好& ssh -2
-p& 指定非标准端口&& ssh -2 -p2222 gwyy@192.168.11.130
也可以直接在命令行用sftp连接这台主机& sftp&& gwyy@192.168.11.130
scp& 拷贝远程文件 加密传输
scp& 本地文件 用户名@远程主机地址:远程主机目录 scp /etc/inittab root@192.168.111.130:/gwyy
scp -r 本地目录 用户名@远程主机地址:远程主机目录& -r拷贝文件
从远程主机拷贝文件到本地
scp&& 用户名@远程主机地址:远程主机文件& 本地目录
scp -r& 用户名@远程主机地址:远程目录&&& 本地目录
-p& 保持文件属性& 比如时间属性
-r& 复制目录
-P& 指定端口号
例子 可以用crontab + scp做远程备份
crontab -e
0 2 * * 0 /usr/bin/scp -r web@192.168.1.1:/web& /backup/web& 周一到周六做增量备份
生成& ssh密钥& 让2台主机不需要密码
第一台主机 root 生成公钥 拷贝到 第二台主机 gwyy 家目录里面 这样 第一台主机root连接第二台主机gwyy不需要密码
ssh-keygen -t rsa 生成公钥
scp /root/.ssh/id_rsa.pub gwyy@192.168.111.130 /home/gwyy& 把公钥拷贝到另一台主机
第二台主机 账号登陆 手动创建 .ssh目录& mkdir .ssh& 是隐藏的 要用 ls -a 查看
id_rsa.pub && .ssh/authorized_keys& 然后把复制来的文件 改名拷贝到.ssh目录
&& 700 .ssh&& 改变权限 这个目录&& 只有普通用户有权限
chmod 600&&& .ssh/authorized_keys& 权限必须是600 读写权限
rsync应用 &
方便的增量备份& 可以使用ssh加密通道 可以镜像保存整个目录和文件系统& 保持文件的权限时间软连接 等等 传输效率高
编辑& /etc/xinetd.d/rsync
设置 disable = on& 启用& 默认不启用
重启xinetd进程& service xinetd restart
例子& 周1到周6做一次备份
crontab -e
0 2 * * 1-6 /usr/bin/rsync -arHz --delete gwyy@192.168.111.130:/web& /backup& 把另一台主机的web目录拷贝到本机的back下面
-a& 保持文件属性
-r&& 子目录递归处理
-H 保持文件硬链接
-z& 备份文件传输时候压缩处理
--progress 在传输时候显示传输过程
--delete& 删除目标备份没有的文件
-e ssh& 使用ssh加密隧道传输
转载请保留固定链接:
------分隔线----------------------------
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
摘要 在满足开发环境所有特征的情况下进行了大量方式上的升级...
dev,stage,prod配置 目的:使用gitfs统一分布式环境中的配置,将开...
服务端安装 初始化基础环境 假设2个节点做2个副本,修改hosts文...
一、简介 在通常情况下,使用 nginx 基于 ip 限制访问请求频率等...
网站的目录结构为: # tree /home/ / home / wwwroot / ...
在配置tomcat虚拟主机时候,如何每一个虚拟主机写成单独文件,...电脑教程子分类<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&

我要回帖

更多关于 rsync指定ssh端口 的文章

 

随机推荐