如何修改AWS S3同步批处理脚本将执行输出保存到指定日志文件
实现方法
你只需要在原有脚本中补充日志目录创建、输出重定向逻辑即可,推荐使用带时间戳的日志命名方式,每次运行生成独立日志文件,不会覆盖历史记录。
修改后完整脚本(推荐,保留历史日志)
:: 日志目录不存在则自动创建,已存在时不报错 mkdir C:\Logs 2>nul :: 生成带年月日时分的唯一日志文件名 set "LOG_NAME=s3_sync_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.log" :: 处理凌晨时段小时位前的空格问题,避免文件名异常 set "LOG_NAME=%LOG_NAME: =0%" :: 执行原有同步逻辑,所有输出(含错误信息)写入日志 cd "C:\ProgramData\Console\Patches" & aws s3 sync . s3://distribution/Patches > "C:\Logs\%LOG_NAME%" 2>&1
简化版本(每次覆盖同一份日志)
如果不需要保留历史运行日志,每次运行直接覆盖固定日志文件,可以用更短的写法:
mkdir C:\Logs 2>nul cd "C:\ProgramData\Console\Patches" & aws s3 sync . s3://distribution/Patches > "C:\Logs\s3_sync.log" 2>&1
关键语法说明
mkdir C:\Logs 2>nul:提前创建日志目录,避免因路径不存在导致日志写入失败> 日志路径:将命令的标准输出写入指定文件2>&1:将错误输出合并到标准输出流,保证同步过程中的报错信息也能被记录到日志中
内容的提问来源于stack exchange,提问作者Dron445
相关产品推荐
相关产品推荐

