• 使用Shell脚本实现SFTP下载文件


    一.生成密钥对
    ssh-keygen –d
    Generating public/private dsa key pair.


    Enter file in which to save the key (/home/local_user/.ssh/id_dsa): (直接按回车不要输入任何东西。注意这个路径/home/local_user/.ssh/id_dsa)
    # 按回车保存为: /home/local_user/.ssh/id_dsa,即当前用户local_user的私钥


    Enter passphrase (empty for no passphrase):  (直接按回车不要输入任何东西)
    # 按回车,表示读取密钥时不需要密钥的密码


    Enter same passphrase again:  (直接按回车不要输入任何东西)
    # 确认密钥的密码,必须和上面的输入相同


    Your identification has been saved in /home/local_user/.ssh/id_dsa.
    # 私钥保存信息


    Your public key has been saved in /home/local_user/.ssh/id_dsa.pub.
    # 公钥保存信息


    The key fingerprint is:
    ec:41:e8:08:38:0b:f8:1e:bc:92:98:32:fc:d7:69:7d ...
    # 密钥指纹




    二.分发公钥


    为了使用密钥,必须将公钥分发到欲登录的远程服务器上,这里远程服务器记为remote_hos
    t,欲登录的远程用户记为remote_user


    1.copy公钥到欲登录的远程服务器的远程用户的家目录下,例如:


    copy id_dsa.pub到remote_host:/home/remote_user/.ssh/(注意这个路径)


    若目录/home/remote_user/.ssh/不存在,请先创建之.


    2.将copy来的公钥文件改名为authorized_keys


    3.修改公钥文件的访问权限


    chmod 644 authorized_keys






    示例
    date=` date +%Y-%m-%d `
    ##########################################
    #                 下载文件               #
    ##########################################
    #sftp -oPort=ssh端口号 用户名@IP地址 << EOF
    sftp -oPort=29 root@****** << EOF
    #cd 服务器文件的存放路径
    cd /var/MeMediaBackup/
    # lcd 本地文件存放路径
    lcd /backup/memediadbbackup/
    #-get 服务器文件的存放路径下的文件名
    -get memediadb$date.tar.gz
    ##########################################
    #            减压并导入数据库            #
    ##########################################
    tar -zxvf memediadb$date.tar.gz
    /usr/bin/mysql -u root -pmemediahegg.0 -h ****** memediadb < /backup/memediadbbackup/memediadb$date.sql
    ##########################################
    #          删除减压后的sql文件           #
    ##########################################
    rm -rf memediadb$date.sql
    quit
    EOF
  • 相关阅读:
    Convert、Parse、TryParse、(int)区别及可能引发性能问题
    重写、覆盖、重载、多态几个概念的区别分析
    计算机系统的硬件组成(转)
    如何选择Html.RenderPartial和Html.RenderAction
    位运算(转)
    Java程序员面试中的多线程问题
    请转到控制面板来配置或安装系统组件
    开篇
    DropDownList 不能有多个项被选定!
    有关rollup和cube的使用方法讨论
  • 原文地址:https://www.cnblogs.com/silentmuh/p/16723805.html
Copyright © 2020-2023  润新知