当前位置: 首页 > news >正文

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 timefrom 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')
http://www.dtcms.com/a/456849.html

相关文章:

  • 第五十二章 ESP32S3 UDP 实验
  • [鹤城杯 2021]Misc2
  • 山东省旅游网站建设网络设计是干什么的工作
  • 基于 ZYNQ ARM+FPGA+AI YOLOV4 的电网悬垂绝缘子缺陷检测系统的研究
  • 开源 C++ QT QML 开发(十二)通讯--TCP客户端
  • 【密码学实战】openHiTLS pkeyutl命令行:公钥实用工具(加解密、密钥交换)
  • 做标书有什么好的网站吗网站改版不收录
  • JDK17和JDK8的 G1
  • win10安装conda环境
  • TDengine 浮点数新编码 BSS 用户手册
  • mybatis call存储过程,out的参数怎么返回
  • 今日八股——JVM篇
  • 【论文阅读】REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS
  • 沈阳做网站比较好的公司做网站需要会的软件
  • ubuntu22.04安装gvm管理go
  • 基于单片机的智能点滴输液速度与液位控制系统设计
  • 嵌入式开发学习日志38——stm32之看门狗
  • golang面经——内存相关模块
  • 成都政务网站建设怎样做视频网站
  • 架构设计常画哪些图
  • 自然语言处理分享系列-词向量空间中的高效表示估计(一)
  • RNN的注意力机制:原理与实现(代码示例)
  • Flutter bottomNavigationBar 底部导航栏
  • 做男装去哪个网站好的网站开发工具有哪些
  • 【Spring 3】深入剖析 Spring 的 Prototype Scope:何时以及如何使用非单例 Bean
  • asp.net+mvc+网站开发wordpress 手机端页面
  • 【开题答辩全过程】以 爱篮球app为例,包含答辩的问题和答案
  • 深入理解跨域问题与解决方案
  • 从零搭建 RAG 智能问答系统1:基于 LlamaIndex 与 Chainlit实现最简单的聊天助手
  • Redis核心通用命令解析