Board logo

标题: 【100元红包】robocopy 的日志 每日自动以运行时间命名log文件保存至目标网盘中 [打印本页]

作者: 觅食者III    时间: 2022-11-29 14:47     标题: 【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%"




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2