Operations 6 min read

EasyXMS: Lightweight Python Tool for Batch Managing Linux/Unix Servers

EasyXMS is a simple, lightweight Python script that enables multithreaded batch command execution and file uploads across multiple Linux/Unix servers, offering easy installation, encrypted configuration storage, and comprehensive logging for efficient server operations.

MaGe Linux Operations
MaGe Linux Operations
MaGe Linux Operations
EasyXMS: Lightweight Python Tool for Batch Managing Linux/Unix Servers

EasyXMS is a simple system for batch managing Linux/Unix servers, providing features such as multithreaded batch command execution and multithreaded batch file uploads.

Project homepage: http://git.oschina.net/leedays/EasyXMS – download the latest version.

Advantages

1. Simple to use
2. Lightweight – only a single script file, no client installation required
3. Fast deployment – one‑click environment setup

Main Features

1. Batch command execution
2. Batch file upload
3. Record each entered command to a file
4. Record each command's result to a file

Runtime Environment

1. Python 2.7 (download from http://www.python.org)
2. easy_install tool (Python package installer, similar to yum, resolves dependencies automatically)
3. PyCrypto 2.1+ module (cryptographic library written in Python)
4. paramiko module (Python implementation of the SSH protocol)

Environment Installation

You can use the provided one_key_install_paramiko.sh shell script for one‑click installation. Execute the script with source script_name.

Files Generated During Execution

1. server.conf – stores each server's connection info (IP:port:username:password) using simple reversible encryption.
2. paramiko.log – log file generated by the paramiko module.
3. command_history.log – records all executed commands.
4. command_result_history.log – records the results of executed commands.

How to Run the Script

python EasyXMS.py   # recommended
./EasyXMS.py        # after granting executable permission

Operation Demo

1. Main Menu

Enter ? to display the help menu.

0 Add server IP info to configuration file (server.conf)
1 Load a file containing multiple server IPs for batch addition
2 List servers currently in the configuration file
3 Delete specified server info from the configuration file
4 Clear the configuration file
5 Batch execute commands
6 Batch upload files
7 Clear screen

2. Option 0 – Add Server IP Info

3. Option 1 – Load Multiple Server IPs

Prepare a text file where each line contains IP:port:username:password (port can be omitted if 22).

192.168.100.204:root:123456
192.168.100.205:root:123
192.168.100.206:root:123

4. Option 2 – List Servers

5. Option 3 – Delete Server Info

6. Option 4 – Clear Configuration File

7. Option 5 – Batch Execute Commands

8. Option 6 – Batch Upload Files

9. Option 7 – Clear Screen

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Linuxserver managementbatch operationsEasyXMS
MaGe Linux Operations
Written by

MaGe Linux Operations

Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.