【自用】bat ftp下载前一天备份
2024-10-20 08:26:31
@echo off rem 指定FTP用户名
set ftpUser=app
rem 指定FTP密码
set ftpPass=app
rem 指定FTP服务器地址
set ftpIP=192.168.1.1
rem 指定待下载的文件位于FTP服务器的哪个目录
set ftpFolder=F:\oraclebak
rem 指定从FTP下载下来的文件存放到本机哪个目录
set LocalFolder=G:\DB_BACKUP\oraclebak rem 计算指定天数之前的日期
set DaysAgo=
rem 假设系统日期的格式为yyyy-mm-dd
call :DateToDays %date:~,% %date:~,% %date:~,% PassDays
set /a PassDays-=%DaysAgo%
call :DaysToDate %PassDays% DstYear DstMonth DstDay
set DstDate=%DstYear%%DstMonth%%DstDay%
REM echo orcl_%DstDate%_210000.rar
REM 开始FTP下载
set ftpFile=%temp%/TempFTP.txt
>"%ftpFile%" (
echo,%ftpUser%
echo,%ftpPass%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo hash
REM echo bin
echo get orcl_%DstDate%_210000_log.log
echo get orcl_%DstDate%_210000.rar
REM echo bye
)
start ftp -s:"%ftpFile%" %ftpIP%
REM pause
goto :eof :DateToDays %yy% %mm% %dd% days
setlocal ENABLEEXTENSIONS
set yy=%&set mm=%&set dd=%
if %yy% LSS if %yy% LSS (set yy=%yy%) else (set yy=%yy%)
set /a dd=%dd%%%,mm=%mm%%%
set /a z=-mm,z/=,y=yy+-z,m=mm+*z-,j=*m+
set /a j=j/+dd+y*+y/-y/+y/-
endlocal&set %=%j%&goto :EOF :DaysToDate %days% yy mm dd
setlocal ENABLEEXTENSIONS
set /a a=%+,b=*a+,b/=,c=-b*,c/=,c+=a
set /a d=*c+,d/=,e=-*d,e/=,e+=c,m=*e+,m/=,dd=*m+,dd/=
set /a dd=-dd+e+,mm=-m/,mm*=,mm+=m+,yy=b*+d-+m/
(if %mm% LSS set mm=%mm%)&(if %dd% LSS set dd=%dd%)
endlocal&set %=%yy%&set %=%mm%&set %=%dd%&goto :EOF
本文为自用,如有不明白可联系博主。
最新文章
- 寻找表达式(dfs)
- 基于 CSS3 Media Queries 的 HTML5 应用
- 数位DP (51nod)
- 实现LUT
- 通过IP连接网上打印机(转载)
- Oracle RAC集群安装之:Grid软件安装过程蓝屏
- linux ----Inode的结构图
- SQL中条件放在on后与where后的区别
- RESTful API Develop
- Android SQLite总结
- UITextField关闭自动联想功能
- delphi选择打印机打印
- Spark算子--first、count、reduce、collect、lookup
- F查询和Q查询,事务及其他
- matplotlib中subplot的使用
- Vim-一款好用的文本编辑器
- after、append和appendTo三个函数的区别
- HTML5使用canvas画图时,图片被自动放大模糊的问题
- Task WaitAll的用法
- HttpURLConnection 当作请求调用接口不带返回参数的工具类