@echo off ::title DBAutobackup :: 过期文件删除,-7代表删除7天前的备份,请勿改成正数,否则无法备份 set expirationDay=-7 :: 执行时间点,参考值:0~23(24小时制) set baktime=0 :: 数据库IP或域名地址,服务器地址本机无需修改 set host="127.0.0.1" :: 数据库端口,服务器端口默认无需修改 set port=9100 set mongodumpPath=%~sdp0 set intervaltime=100 cd /d %mongodumpPath% if not exist %mongodumpPath%dump mkdir %mongodumpPath%dump :while if %time:~0,2% == %baktime% ( if not exist %mongodumpPath%dump\%date:~0,4%-%date:~5,2%-%date:~8,2%.bak ( echo Start backup mongodump /host:%host% /port:%port% /gzip /archive:%mongodumpPath%dump\%date:~0,4%-%date:~5,2%-%date:~8,2%.bak && echo backup success || echo backup error Forfiles /p %mongodumpPath%dump\ /d %expirationDay% /m *.bak /c "cmd /c del /q /f @file" 2>nul | cmd /c "" ) else ( echo It has been backed up. ) ) else ( echo Current time is %time:~0,2%:%time:~3,2%,backup time is %baktime%:00. ) timeout /t %intervaltime% /NOBREAK | cmd /c "" cls goto :while