2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Linux用户登录自动拷贝文件 linux下ssh远程登录/scp远程复制文件/rsync远程同步命令

Linux用户登录自动拷贝文件 linux下ssh远程登录/scp远程复制文件/rsync远程同步命令

时间:2020-01-29 05:41:14

相关推荐

Linux用户登录自动拷贝文件 linux下ssh远程登录/scp远程复制文件/rsync远程同步命令

原文出处:/five3/article/details/8648484

最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之。

ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令。

##登录

sshloginuser@host_or_ip

##执行远程命令

sshloginuser@host_or_ipcommands

但通常要是执行命令的话,都是执行shell脚本,肯定不想每次自己再输入密码,就不能自动化也就少了快感啦。所以要让ssh能自动登录,方法好像有很多,这里就用尝试代价最小的,公钥认证的方式。具体操作见下:

A:为本地机

B:为远程服务器【被登录】

1、在A上生成ssh的私钥和公钥【生成的文件都在~/.ssh目录下】

ssh-keygen-trsa##需要3次回车

ssh-keygen-trsa-P##仅一次回车

2、把A的公钥内容传到B的用户目录的.ssh文件夹下的authorized_keys文件中

scp~/.ssh/id_rsa.pubB_user@B_host_or_ip:~/.ssh/authorized_keys##希望每次自动登录用什么用户,这里的B_user就用什么帐号,因为默认会考到这个帐号下.ssh中

注意:一定要把内容放到authorized_keys文件里,如果这个文件已经存在,那就追加到后面即可,不要覆盖了。

3、A再用ssh进行操作时就不需要输入密码了

sshB_user@B_host_or_ip##直接登录成功

SCP和ssh是一套的,只不过这个工具用来在linux之间进行文件传输的,用的和ssh一样的安全传输协议。所以在ssh能够自动登录之后,使用scp命令进行服务器间的文件复制也就不要手动输入密码了,其实这样此时已经可以实现shell脚本自动备份文件的功能了,因为scp就是一个服务器间的copy程序,scp就是安全copy的意思,scp常用的命令为:

scp/path/to/sourceuser@des:/path/to/local##本地赋值到远程

scpuser@source:/path/to/source/path/to/local##远程复制到本地

Rsync

命令是一个远程同步程序,与scp相比,它可以以最小的代价备份文件,只备份有差异的文件,这样每次备份就少了很多时间,此外在传输协议上除了自身的协议之外,还支持以ssh的方式传输。只要加个ssh参数即可,常用的命令格式:

rsync-avH[ssh]/path/to/sourceuser@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.

008,12,16***/dataapp.sh

302***/dataapp.sh

108,12,16***/dataapp.sh

108,12,16***/dataapp.sh

108,12,16***/dataapp.sh

Linux用户登录自动拷贝文件 linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。