Linux用户登录自动拷贝文件,linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录...
原文出处: http://blog.csdn.net/five3/article/details/8648484
最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查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用户登录自动拷贝文件,linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录...相关推荐
- Linux CentOS7 中 完美解决VMTools失效,windows 与 Liunx间完美复制文件,无报错的解决方案
Linux CentOS7 中 完美解决VMTools失效,windows 与 Liunx间完美复制文件,无报错的解决方案 DreamFollowerss 2020-05-25 12:03:08 3 ...
- 自定义语义分割数据集(划分训练集与验证集)、并且将一个文件夹下的所有图片的名字存到txt文件
目录 1.划分训练集.验证集与测试集 2.文件名称保存为txt 3.文件移动 4. 将数据集保存为.pkl格式以及读取.pkl格式文件 我们可以借助Pytorch从文件夹中读取数据集,十分方便,但是P ...
- 禁止复制服务器文件夹,远程桌面服务器 禁止复制文件夹
远程桌面服务器 禁止复制文件夹 内容精选 换一换 若SDK已有插件满足开发需求,则直接执行以下的编译运行操作.若已有插件不满足开发需求,用户需要开发自定义插件并编写相应的CMakeLists文件,执行 ...
- linux 查看磁盘空间 拷贝不同目录下的文件
linux 查看磁盘空间 df -h 拷贝不同目录下的文件 cp -rf 目录1 目录2 目录1是需要拷贝的文件所在目录 目录2是需要存放的位置 cp -rf /data/ws/m2e2/ ././表 ...
- linux用户视角可分为,经济学原理下全球视角尔雅答案
[单选题]Linux用户分为 [填空题]典型调查有两个特征:第一,它是 的调查:第二,调查单位 地选择出来的 下列各项中,属于出纳人员不得兼管的工作有( ). [单选题]已知主.俯视图,选择正确的作剖 ...
- linux cp 时 略过文件,CentOS下执行cp命令式提示略过文件夹
今天在CentOS下复制一个文件夹到另一个文件夹的时候cp ./res /usr 的时候出现了问题,提示我的是: cp略过了文件夹 后来我找了一下 在网上search了一下CP命令的用法: CP命令 ...
- linux用户空间注册按键事件,linux下获取按键响应事件
1.问题 通过一个死循环将读取键盘对应的设备文件将触发键盘事件在屏幕上打印出来,按esc退出程序 代码是在unbuntu10.04编译执行通过的 2.input_event描述 在Linux内核中,i ...
- ftp linux 推送文件_Linux下SSH用FTP命令上传文件至另一个FTP空间
如果没有ftp 提示: -bash: ftp: command not found 请先安装ftp应用程序: yum install ftp #ftp 127.0.0.1 21 输入远程空间的FTP ...
- linux串口输出重定向到文件,DOS 下将屏幕打印输出重定向到指定文件中(或重定向到并口/串口)...
今天突然要用到 pc 的串口发送数据 给单片机,我不想把太多的时间放在 api 上面,想了个简便方法,用两个 C库里的函数 freopen 和 putchar 就可以了 代码如下: #include ...
最新文章
- antd自定义分页器_自定义分页器
- 商丘网络推广中网站内部优化需要注意的要点有哪些?
- 谈谈新手如何学习PHP^_^【转】
- tcpdump 用法
- NB-IOT ---5G时代三兄弟,NB-IoT到底有多少优势?
- 基于JAVA+Servlet+JSP+MYSQL的实验室机房预约管理系统
- Ubuntu14.04下配置固定IP
- Angular 启动项目时 port 4200 is already in use 解决方法
- HDU2009 求数列的和【迭代】
- ASP.NET长文章分页
- Veritas Backup Exec 21.3 Multilingual (Windows)
- vue使用FlexPaperViewer插件 预览swf文件 pdf转swf文件
- java项目打包windows服务
- STM32 TIM1输入捕获配置
- PHP fwrite和file_put_contents 性能对比测试
- python if else语句例子,python 中if else 语句的作用及示例代码
- ORB-SLAM2栅格地图构建
- 大数据的4v特征、数据预处理
- hg110路由器那位大神给编译一个挂3070网卡固件
- html anki编辑器,AnkiEditor | F-Droid - Free and Open Source Android App Repository