这个脚本通过 Plink
连接远程服务器,查找以 daily-
开头文件并将其下载到本地,使用 PSCP
执行文件传输,整个过程完全自动化。脚本的主要功能步骤如下:
Plink
在远程服务器上查找符合条件的文件(例如,文件名以 daily-
开头)。PSCP
将其下载到本地。Plink
删除远程服务器上的文件。@echo off
:: 定义远程服务器和路径
set SRC_SERVER=user@1.2.3.4
set SRC_PATH=/home/user
:: 定义密码
set SRC_PASSWORD="password"
:: 定义本地目标目录
set DEST_DIR=C:\Workspace\
:: 创建目标目录(如果不存在)
mkdir "%DEST_DIR%" 2>nul
:: 使用 plink 检查是否有以 daily- 开头的文件,并获取文件路径
plink -ssh -pw "%SRC_PASSWORD%" -batch %SRC_SERVER% "find %SRC_PATH% -type f -name 'daily-*' | head -n 1" > file_check.txt
:: 读取文件路径
set /p FILE_PATH=<file_check.txt
del file_check.txt
:: 如果文件路径为空,则表示没有找到文件
if "%FILE_PATH%"=="" (
echo daily- not exist
exit /b
)
:: 从远程服务器下载该文件到本地目标目录,并删除远端文件
pscp -pw "%SRC_PASSWORD%" %SRC_SERVER%:%FILE_PATH% %DEST_DIR%\
plink -ssh -pw "%SRC_PASSWORD%" -batch %SRC_SERVER% "rm -rf %FILE_PATH%