• shell脚本中解决SCP命令需要输入密码的问题


    答案:使用密钥文件。

    --------------------------------------------------------------------------------------------------
    这里假设主机A(192.168.1.3)用来获到主机B(192.168.1.4)的文件。
    在主机A上执行如下命令来生成配对密钥:
    ssh-keygen -t rsa
    遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:
    /root/.ssh/id_rsa.pub

    将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys,
    到主机A中执行命令和主机B建立信任,

    例(假设主机B的IP为:192.168.100.4):scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

    下面就可以用scp、ssh命令不需要密码来获取主机B的文件了
    ssh 192.168.100.4 回车就不需要密码了。
    注:其实id_rsa.pub内容添加到对方机器的authorized_keys中就行了

    转载:http://blog.csdn.net/chris_playnow/article/details/22579139

    --------------------------------------------------------------------------------------

    拷贝其他服务器附件归集到主服务器bash shell

    [test@abc01.cn ~]$ cat copy.bash
    #!/bin/bash
    # copy attachment
    scp -r test1@app02.abc.cn:/home/test1/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
    echo "done! app02. copy finish"
    scp -r test2@app03.abc.cn:/home/test2/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
    echo "done! app03. copy finish"

    -------------------------------------------------------------------------------

    增加定时任务

    crontab -e

    类似编辑vi  在里面粘贴  

      * */6 * * * username sh /home/user/test/copy.sh

    ---shift+zz保存,重启crond服务

    root]# service crond restart

    --------------------------

  • 相关阅读:
    百度编辑器 Ueditor使用记录
    JS实现继承的几种方式
    IOS 浏览器上设置overflow: auto 不可滚动
    throw new Error('Cyclic dependency' + nodeRep)
    如何理解springaop
    SQL连接的分类
    Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题
    SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
    Centos7下面安装eclipse
    Centos7 下编译 Openjdk8
  • 原文地址:https://www.cnblogs.com/java2sap/p/11424587.html
Copyright © 2020-2023  润新知