我创建了一个批处理文件,用于启动和停止celery服务。
我想在批处理文件中实现代码,以便删除一周之前的文件。
celery_restart.bat
NET STOP "CeleryBeat"
NET START "CeleryBeat"
NET STOP "Celery2"
NET START "Celery2"
我创建了一个批处理文件,用于启动和停止celery服务。
我想在批处理文件中实现代码,以便删除一周之前的文件。
celery_restart.bat
NET STOP "CeleryBeat"
NET START "CeleryBeat"
NET STOP "Celery2"
NET START "Celery2"
对于Windows系统:
ForFiles /p "your\folder\with\logs" /m *.log /d -7 /c "cmd /c del @file"
添加 /s
以删除子文件夹中的日志文件。如果您想删除文件夹中7天前的所有文件,只需删除 /m *.log
选项。
ForFiles /?
- 它相当易于理解。然而,要做你想做的事情并没有简单的选项 - 这个问题在这里得到了回答:https://dev59.com/FWgt5IYBdhLWcg3w7BoE (我更喜欢给出的第一个解决方案)。 - Grismar或者你可以运行一些for循环:
@echo off
set comms="CeleryBeat" "Celery2"
for %%i in (*.pid *.log do del %%i /Y
for %%a in (%comms%) do (
net stop %%a && net start %%a
)
这里的&&
运算符只有在前一个命令以errorlevel
0
退出时才会启动服务。
logrotate
吗?为什么使用了python
标签? - norok2