在Ubuntu上使用Python进行自动化运维可按以下步骤操作:
-
配置Python环境
- 安装Python和pip:
sudo apt update && sudo apt install python3 python3-pip。 - 创建虚拟环境:
python3 -m venv my_env,激活后安装依赖包。
- 安装Python和pip:
-
编写自动化脚本
- 系统管理:用
paramiko库实现SSH远程命令执行,如检查服务状态。import paramiko def check_service(host, user, password, service): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(host, username=user, password=password) stdin, stdout, stderr = ssh.exec_command(f'systemctl status {service}') print(stdout.read().decode()) ssh.close() ```。 - 任务调度:用
APScheduler库设置定时任务,如定期清理临时文件。
- 系统管理:用
-
使用自动化工具
- SaltStack:基于Python的配置管理工具,支持批量执行命令、文件分发等。
- Ansible:通过Python调用API或编写Playbook实现自动化部署。
- Fabric:轻量级工具,适合远程服务器批量操作,如部署代码。
-
设置开机自启
- 创建
systemd服务文件:在/etc/systemd/system/下新建.service文件,指定Python脚本路径和启动参数,启用服务sudo systemctl enable my_service。
- 创建
-
日志与监控
- 用
logging模块记录脚本运行日志,便于排查问题。 - 结合系统工具(如
cron)实现周期性任务调度。
- 用
示例场景:
- 自动部署Nginx:通过Python脚本调用
apt命令安装Nginx,并用paramiko远程配置服务。 - 批量服务器监控:用SaltStack批量获取服务器CPU、内存使用率,异常时发送告警。
以上工具和方法可组合使用,根据实际需求选择合适方案。