几个python运维脚本

简介:
这是我以前写过的一个清除备份文件的小程序,本来想用批处理来做,但批处理的语法又复杂有怪异,最终还是拿python写了一个
因为我们的游戏每隔一小时就会自动产生一个备份,这个程序的作用是跳过最新的7*24个备份,删除其他的时间更长的。
#表示注释

# -*- coding: cp936 -*-

import os  #os是python自带的一个扩展库,用来进行跟系统相关的操作

skipNum = 24 * 7    #保留文件夹的数目(小时 * 天)

print '\n*************清除时间超过 ' + str(skipNum /24) + ' 天的自动备份文件**************\n\n'

backupDir = os.path.abspath(__file__) + '\\..\\..' + '\\servedatabase_autobackup'
for dir in os.listdir(backupDir):   #os.listdir(xxx)函数返回的是一个文件列表
    if dir[-4:] == '.map':
        mapDir = backupDir + '\\' + dir
        print '正在清除备份目录:' + os.path.abspath(mapDir)
        subDirs = os.listdir(mapDir) #获取文件列表
        subDirs.reverse()            #逆序
        i = 0
        for subDir in subDirs:
            i+=1
            if i > skipNum:
                print '正在清除备份: ' + subDir 
                os.system('rmdir ' + mapDir + '\\' + subDir + ' /s/q') #相当于执行控制台命令




因为十一假期期间服务器程序没有人负责看管,我们的服务器程序出错误的会产生错误报告对话框,这个python的作用就是定时寻找这个错误对话框,并且关掉,然后重新启动服务端。

# -*- coding: cp936 -*-
import win32api
import win32gui
import time
import os

print "监控进程运行中....."

#工作路径
workDir = "D:/work/xxxxxxxxx/"

#要进行监控的程序
winList = []
winList.append(["xxx-xxxx服务器","xxx_R.bat"])
winList.append(["yyy-yyyy服务器","yyy_R.bat"])
winList.append(["zzz-zzzz服务器","zzz_R.bat"])

while(1):
    #寻找"错误报告"窗口,并关掉
    w = win32gui.FindWindow(0,"错误报告")
    while(w != 0):
        win32api.SendMessage(w,16)
        w = win32gui.FindWindow(0,"错误报告")
        
    time.sleep(2)

    #寻找"python错误"窗口,并关掉
    w = win32gui.FindWindow(0,"python.exe")
    while(w != 0):
        win32api.SendMessage(w,16)
        w = win32gui.FindWindow(0,"python.exe")   
    
    time.sleep(2)
    
    #检查进程是否存在,如果不存在则启动进程
    for wl in winList:
        s = win32gui.FindWindow(0,wl[0])
        if s == 0:
            print str(time.localtime()) + "  启动  " + wl[1]
            #写日志
            file_object = open(workDir +  'runLog.txt', 'w+')
            file_object.write(str(time.localtime()) + "  启动  " + wl[1])
            file_object.close( )
            #启动
            win32api.ShellExecute(0, "" , workDir + wl[1] , "" , workDir , True )
            time.sleep(5) #每启动一个后的等待时间
    
    time.sleep(600)#每一轮循环等待时间











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1550329,如需转载请自行联系原作者
目录
相关文章
|
27天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
147 61
|
2月前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
1天前
|
安全 Linux 网络安全
利用Python脚本自动备份网络设备配置
通过本文的介绍,我们了解了如何利用Python脚本自动备份网络设备配置。该脚本使用 `paramiko`库通过SSH连接到设备,获取并保存配置文件。通过定时任务调度,可以实现定期自动备份,确保网络设备配置的安全和可用。希望这些内容能够帮助你在实际工作中实现网络设备的自动化备份。
29 14
|
1月前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
110 7
21个Python脚本自动执行日常任务(2)
|
1月前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
136 5
|
1月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
75 7
|
1月前
|
运维 Kubernetes Devops
自动化运维:从脚本到工具的演进之旅
在数字化浪潮中,自动化运维成为提升效率、保障系统稳定的关键。本文将探索自动化运维的发展脉络,从基础的Shell脚本编写到复杂的自动化工具应用,揭示这一技术变革如何重塑IT运维领域。我们将通过实际案例,展示自动化运维在简化工作流程、提高响应速度和降低人为错误中的重要作用。无论你是初学者还是资深专家,这篇文章都将为你提供宝贵的洞见和实用的技巧。
|
2月前
|
运维 Devops
自动化运维:从脚本到DevOps的进化之旅
在数字化时代,自动化运维不仅是提高生产效率的关键,更是企业竞争力的象征。本文将带领读者穿越自动化运维的发展历程,从最初的脚本编写到现代DevOps文化的形成,揭示这一演变如何重塑IT行业的工作模式。通过具体案例,我们将展示自动化工具和实践如何简化复杂任务,优化流程,并促进团队协作。你将发现,自动化运维不仅关乎技术的进步,更体现了人、流程和技术三者之间协同增效的深层逻辑。
|
2月前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
2月前
|
机器学习/深度学习 人工智能 运维
自动化运维之路:从脚本到工具的演进
在IT运维领域,效率和准确性是衡量工作成效的关键指标。随着技术的发展,自动化运维逐渐成为提升这两个指标的重要手段。本文将带领读者了解自动化运维的演变历程,从最初的简单脚本编写到现今复杂的自动化工具应用,展示如何通过技术提升运维效率。文章不仅介绍理论和实践案例,还提供了代码示例,帮助读者理解自动化运维的实际应用场景。