当前位置:首页 > 其它
编写批处理实现通过 SFTP 下载文件
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2019-01-15 09:40:42  点击量:2881  评论:0

    有时候,出于安全方面的考虑,除了在服务器上做备份外,还需要进行异地备份。现在一般使用的都是 Linux 服务器,而备份服务器为了便于操作,有可能使用的是 Windows 服务器。这样,为了进行异地备份,可能得借助于第三方同步软件。
    Putty 是一个 SSH、Telnet 和 Rlogin 客户端,它自带的 psftp.exe 是一个命令行交互 SFTP 客户端,单文件、体积小,也是一个不错的选择。
    这里演示通过编写批处理脚本,结合 psftp.exe 工具来实现从 Linux 服务器上下载文件的功能。

@echo off
rem 作者:靑龍一笑(C.S.Ricen)
rem 功能:通过 sftp 下载文件
 
set Y=%date:~0,4%
set M=%date:~5,2%
set D=%date:~8,2%
set DG=1
set/a vY1=%Y% %% 400
set/a vY2=%Y% %% 4
set/a vY3=%Y% %% 100
if %vY1%==0 (
    set var=true
) else (
    if %vY2%==0 (
        if %vY3%==0 (
            set var=false
        ) else (
            set var=true
        )
    ) else (
        set var=false
    )
)
set LY=%Y%
set LM=%M%
if %M:~0,1%==0 (
    set M=%M:~1,1%
)
if %D:~0,1%==0 (
    set D=%D:~1,1%
)
if %D% GTR %DG% (
    set/a LD=%D%-%DG%
) else (
    if %M%==1 (
        set/a LY=%Y%-1
    ) & (
        set/a LM=12+%M%-1
    ) & (
        set/a LD=31+%D%-%DG%
    ) else (
        set/a LM=%M%-1
        if %M%==3 (
            if %var%==false (
                set/a LD=28+%D%-%DG%
            ) else (
                set/a LD=29+%D%-%DG%
            )
        )
        for %%a in (2 4 6 8 9 11) do (
            if "%M%"=="%%a" (
                set/a LD=31+%D%-%DG%
            )
        )
        for %%b in (5 7 8 10 12) do (
            if "%M%"=="%%b" (
                set/a LD=30+%D%-%DG%
            )
        )
    )
)
if %LM% LSS 10 set LM=0%LM:~-1%
if %LD% LSS 10 set LD=0%LD:~-1%
set lDate=%LY%%LM%%LD%

set SRC=/usr/ricen_file/dbBackUp
set DEST=D:\dbBackUp
set HOST=10.18.16.168
set PORT=22
set USER=root
set PASS=webDB0918

echo cd %SRC% > sftp.tmp
echo lcd %DEST% >> sftp.tmp
echo get dis-%lDate%.sql.gz >> sftp.tmp
echo bye >> sftp.tmp

psftp.exe %HOST% -P %PORT% -l %USER% -pw %PASS% -b sftp.tmp

del /q sftp.tmp
exit

版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting