美文网首页
Windows下定时用sftp自动下载文件

Windows下定时用sftp自动下载文件

作者: 前浪浪奔浪流 | 来源:发表于2024-05-29 15:35 被阅读0次

    远程服务器是Linux操作系统,没有ftp服务,可以ssh,要求每天进行全站备份,包括数据库备份文件,本地计算机用的windows操作系统,希望用sftp每天5:00下载远程服务器上的备份文件。

    Windows下的sftp工具采用putty工具包中的psftp.exe,下载地址:
    http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

    image.png

    在windows电脑上双击安装后,打开CMD命令行输入 "psftp -h"以查看psftp的用法。


    image.png

    能够通过导入一个脚本文件sftp.txt来自动完成sftp下载文件。命令格式如下:

    psftp remotehost -l username -pw password < sftp.txt
    #remotehost   要连接的服务器IP地址默认用22端口
    #username     linux服务器用户
    #password     linux服务器密码
    #sftp.txt     用来执行下载任务的语句文档
    

    由于linux服务器上的备份文件是按照当天的年份加日期作为文件名的例如"20240530.zip"
    所以,下载文件的sftp.txt需要是动态生成的,然后每次下载完成后删除sftp.txt。
    bat脚本如下

    set filename=%date:~0,4%%date:~5,2%%date:~8,2%
    echo cd /data/test>>ftp.txt
    echo get %filename%.zip >>ftp.txt
    echo bye >>ftp.txt
    psftp 172.16.17.251  -l root -pw pass123456 < ftp.txt
    echo %date% %time% >> ftp.log
    dell ftp.txt
    

    标准化获取当前系统日期的方法,cmd下windows批处理bat,获取当前系统时间,生成日志文件名。

    格式:   %date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%
    结果:   20120731052539
    
    image.png

    linux环境下

    %Y 当前年
    %m 当前月
    %d 当前日
    %H 当前时
    %M 当前分
    %S 当前秒
    
    filename=$(date +%m%d)
    touch $filename.txt
    

    注意:bat脚本文件要和psftp.exe 可执行文件放在同一目录下,

    image.png
    查找psftp.exe的位置:开始--PSFTP右键--更多--打开文件位置
    image.png
    点击PSFTP 文件右键,属性,查看目标:"C:\Program Files\PuTTY\psftp.exe"
    image.png
    打开目录C:\Program Files\PuTTY
    image.png
    把psftp.exe 文件拷贝到download.bat同目录下,我的是在D:/
    双击download.bat 执行,确保脚本可以顺利的从linux服务器上下载到指定文件。
    image.png
    image.png

    然后需要给bat脚本做个定时任务;
    用windows系统自带的任务计划程序来实现:
    右键我的电脑,点击管理


    image.png

    右键"任务计划程序库"新建新文件夹 "download"


    image.png
    右键 "download"文件夹--创建任务
    image.png
    image.png
    image.png
    image.png
    image.png

    一路确定回到


    image.png
    然后选择"触发器"点击左下角的"新建"按钮
    image.png
    然后确定,选择"操作"卡,点击"新建"
    image.png image.png

    返回后选择"条件"卡,


    image.png

    接下来选择"设置"卡


    image.png
    点击"确定"弹出
    image.png
    填写账户密码后确认。
    image.png

    这里可以查看计划任务的执行情况,要想了解执行的详细记录可以暂时启动所有任务历史记录,


    image.png
    右键 "download"文件夹--启用所有任务历史记录,
    image.png

    相关文章

      网友评论

          本文标题:Windows下定时用sftp自动下载文件

          本文链接:https://www.haomeiwen.com/subject/zbakqjtx.html