【100元红包】robocopy 的日志 每日自动以运行时间命名log文件保存至目标网盘中
本帖最后由 觅食者III 于 2022-12-2 14:44 编辑
【100元红包】
微信支付
微信号:MAN_bu35
域控发布测试,运行无错后支付
1.兼容性强,如能在共享盘上正常运行bat,兼容多种Windows系统
2.环境:大多为加域电脑,少数未加域。
大多为win10企业和专业版,少数win7系统。
有中文和英文版本。
3.涉及提权和共享访问包含在收费中
4.最好有注释。
5.需求:
a. 每日自动运行robocopy备份本地工作站数据至网盘中,并保存运行日志,运行日志以运行时间命名,每启动一次,一份log,精确到秒。
b. robocopy开启源目录监控。
c. 多用户模式下使用。
d. 可以使用计划任务方式实现运行。
e. 需要能实现自启动(接受 计划任务方式)
6.自个研究实现robocopy 监控源目录,并生成日志,但无法实现日志截断,需要大佬帮忙 改进。命令如下:
net use \\fileserver.domain.com\nmrdatarobocopy$ "123456789" /User:"filea@domain.com"
if %time:~0,2% leq 9 (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
robocopy "C:\soft\Robocopy" "\\fileserver.domain.com\nmrdatarobocopy$" /e /zb /copy:DATSO /MT:64 /xa:h /mon:1 /r:2 /w:3 /np /log+:"\\fileserver.domain.com\nmrdatarobocopy$\Log\NMRDataRobocopy%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2%.log"
7. 在网络中查询到可以行数截断日志方式,不知是否能修改为以日期为条件截断日志?代码如下:
以下为引用 https://qa.1r1g.com/sf/ask/2155118241/
从文件中获取最后N行的过程称为tail。尝试这个:
@echo off
setlocal
rem Update the robocopy report file
set "report=c:\scripts\logs\robolog-reports.txt"
robocopy "\\server1\reports" "c:\temp" /LOG+:"%report%"
rem Keep the last N lines in the report
set lines=300
for /F %%a in ('find /C /V "" ^< "%report%"') do set "lastLine=%%a"
if %lastLine% leq %lines% goto :EOF
set /A firstLine=lastLine-lines
more +%firstLine% "%report%" > tempFile.tmp
move /Y tempFile.tmp "%report%" |