一些使用 Python 进行自动化运维的示例脚本

来自linux中国网wiki
Evan讨论 | 贡献2024年9月29日 (日) 08:16的版本 (创建页面,内容为“=一、文件备份= <pre> python 复制 import shutil import datetime source_directory = '/path/to/source' backup_directory = '/path/to/backup' timestamp = date…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

一、文件备份


python
复制

import shutil
import datetime

source_directory = '/path/to/source'
backup_directory = '/path/to/backup'

timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
backup_filename = f'backup_{timestamp}.zip'

shutil.make_archive(f'{backup_directory}/{backup_filename}', 'zip', source_directory)

print(f'Backup completed: {backup_filename}')

远程服务器管理(使用 Paramiko 库)

import paramiko

# 创建 SSH 对象
ssh = paramiko.SSHClient()

# 允许连接不在 know_hosts 文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器
ssh.connect(hostname='remote_server_ip', port=22, username='your_username', password='your_password')

# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls -l')
print(stdout.read().decode())

# 关闭连接
ssh.close()

监控服务器资源(使用 psutil 库)

import psutil

# 获取 CPU 使用率
cpu_percent = psutil.cpu_percent(interval=1)
print(f'CPU usage: {cpu_percent}%')

# 获取内存使用情况
memory = psutil.virtual_memory()
print(f'Memory usage: {memory.used / memory.total * 100}%')

# 获取磁盘空间
disk = psutil.disk_usage('/')
print(f'Disk usage: {disk.used / disk.total * 100}%')

自动部署应用(假设使用 Flask 应用)

import os
import shutil

# 源应用目录
app_source_directory = '/path/to/app_source'

# 目标服务器目录
server_directory = '/path/to/server'

# 复制应用文件到服务器目录
shutil.copytree(app_source_directory, f'{server_directory}/app')

# 在服务器上安装依赖
os.system(f'cd {server_directory}/app && pip install -r requirements.txt')

# 启动应用
os.system(f'cd {server_directory}/app && python app.py &')

批量文件重命名

import os

directory = '/path/to/directory'

for filename in os.listdir(directory):
    if filename.startswith('old_prefix_'):
        new_filename = filename.replace('old_prefix_', 'new_prefix_')
        os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))






分享一些使用 Python 进行系统配置管理的示例脚本