Python自动化实战第一篇: 自动化备份100+台服务器Web 配置 - 指南

大家好我是木木,现如今在运维工作中如果同时管理几十上百台Web应用程序,并且要每天进行系统的配置备份或者升级操作、按规则命名保存,是非常的耗时耗力,还容易因操作疏忽导致备份遗漏或命名混乱。

本次文章通过Python实现全自动化备份:从读取服务器配置、批量登录 Web 应用,到触发备份下载,只需要一键运行程序即可。

需求

由于我自己写的系统没有备份配置按钮,通过导出按钮做演示。

1、自动打开浏览器,点击右上角“登录”

2、调整登录页面,自动输入用户名和密码,进行登录

3、自动点击“流水页”,点击“导出CSV文件”,最后关闭浏览器,完成配置备份。

环境准备

安装对应依赖包:pip install selenium configparser

selenium:web自动化测试工具,可以模拟浏览器的各种操作,比如:鼠标点击、输入、提交等。

configparser:解析配置文件的库。

代码拆解

1、创建服务器的配置文件

里面包括需要做自动化的访问页面、端口、系统用户名、系统密码、系统页面的登录输入框、密码输入框、登录按钮以及登录页面后需要点击的几个按钮标签。

如上图需求我需要准备的内容如下:

ip:127.0.0.1
port:5000
username:业务系统登录用户名
password:业务系统登录密码
login_username_field:系统登录页面的登录输入框的值-需要通过F12查看对应值的属性值
login_password_field:系统登录页面的密码输入框的值-需要通过F12查看对应值的属性值
login_button:系统登录页面的登录按钮-需要通过F12查看对应值的属性值
login_link_xpath:系统右上角跳转到登录页面链接按钮-需要通过F12查看对应值的属性值
nav1_xpath:流水页
csv_button:导出CSV

有多少台服务器,就需要写多少个server_X的内容。比如右100台 就需要写100个,前期会比较费力 第一次过后就轻松直接一键运行自动化执行。

import configparser
import os
import threading
import time
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
# 配置文件路径
CONFIG_FILE = 'servers.ini'
# 创建配置文件信息
def create_config_file():
    if not os.path.exists(CONFIG_FILE):
        config = configparser.ConfigParser()
        config.add_section('server_1')
        config.set('server_1', 'ip', '127.0.0.1')
        config.set('server_1', 'port', '5000')
        config.set('server_1', 'username', '1')
posted @ 2025-11-06 18:28  ycfenxi  阅读(0)  评论(0)    收藏  举报