需求:
最近某个项目的企微管理软件迁移到新买的华为云服务器上,dd装了windows(这里吐槽下华为云装Windows镜像竟然还要收几十—几百的第三方镜像费用,希望早日出官方镜像)。
因为云服务器磁盘比较小也就40G。企微管理软件日常1天多就会把磁盘占满,从而导致服务器磁盘占满/软件掉线。
所以用ai写了个脚本,运行后就开始删除 C:\Users\Administrator\AppData\Roaming\xxxx\Log 这个目录的文件。然后持续运行。每2小时执行删除一次 并且每一步都输出对应的信息到窗口。
效果:
因为这个脚本是一直挂在那里的:
- 所以每1分钟输出一下脚本的状态。
- 输出下次删除的时间。
- 执行删除的时候输出删除的结果。
- 用Python来写,并且打包为windows程序
Python代码:
# 钻芒博客 https://www.zuanmang.net/38148.html 转载请注明
import os
import time
import logging
from datetime import datetime, timedelta
# 设置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s')
# 目标目录
target_directory = r'C:\Users\Administrator\AppData\Roaming\xxxx\Log'
# 删除文件的函数
def delete_files():
try:
files_deleted = 0
print(f'检查目录: {target_directory}')
logging.info(f'检查目录: {target_directory}')
# 检查目录是否存在
if not os.path.exists(target_directory):
print(f'目录不存在: {target_directory}')
logging.error(f'目录不存在: {target_directory}')
return
for filename in os.listdir(target_directory):
file_path = os.path.join(target_directory, filename)
if os.path.isfile(file_path):
os.remove(file_path)
print(f'已删除: {file_path}')
logging.info(f'已删除: {file_path}')
files_deleted += 1
if files_deleted == 0:
print('没有文件可删除。')
logging.info('没有文件可删除。')
except Exception as e:
print(f'删除文件时出错: {e}')
logging.error(f'删除文件时出错: {e}')
# 主循环
def main():
next_delete_time = datetime.now() + timedelta(hours=2)
while True:
current_time = datetime.now()
# 每分钟输出状态
if current_time.second == 0:
print(f'下次删除时间: {next_delete_time.strftime("%Y-%m-%d %H:%M:%S")}')
logging.info(f'下次删除时间: {next_delete_time.strftime("%Y-%m-%d %H:%M:%S")}')
# 每2小时删除一次
if current_time >= next_delete_time:
delete_files()
next_delete_time = current_time + timedelta(hours=2)
time.sleep(1)
if __name__ == "__main__":
print('脚本已启动。')
logging.info('脚本已启动。')
main()
打包为 Windows 程序
1. 确保安装 pyinstaller
: 如果还没有安装,可以通过以下命令安装:
pip install pyinstaller
2. 保存脚本: 将上述代码保存为 del.py
文件。
3. 打包脚本: 打开命令提示符,导航到脚本所在目录:
cd 到你的脚本下的文件夹 如: C:\Users\xxx\Desktop\del
使用以下命令打包:
pyinstaller --onefile --distpath . del.py
4. 运行生成的可执行exe文件(可以直接拷贝到服务器上运行,无需py环境)
© 版权声明
THE END
暂无评论内容