在日常运维工作中,单机管理是一个非常重要的环节。通过编写Python脚本,我们可以自动化许多重复性的任务,提高工作效率。下面,我将为大家详细介绍如何使用Python脚本轻松搞定日常运维任务。
1. 监控系统资源
1.1 监控CPU使用率
import psutil
def monitor_cpu_usage():
cpu_usage = psutil.cpu_percent(interval=1)
print(f"当前CPU使用率为:{cpu_usage}%")
if __name__ == "__main__":
monitor_cpu_usage()
这段代码使用了psutil库来获取CPU的使用率。cpu_percent(interval=1)函数会返回过去1秒内的平均CPU使用率。
1.2 监控内存使用率
import psutil
def monitor_memory_usage():
memory_usage = psutil.virtual_memory().percent
print(f"当前内存使用率为:{memory_usage}%")
if __name__ == "__main__":
monitor_memory_usage()
同样地,这段代码使用了psutil库来获取内存的使用率。virtual_memory().percent函数会返回当前内存使用率。
2. 文件管理
2.1 文件查找
import os
def find_files(path, extension):
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(extension):
print(os.path.join(root, file))
if __name__ == "__main__":
find_files("/path/to/search", ".txt")
这段代码会遍历指定路径下的所有文件,并打印出所有以.txt结尾的文件路径。
2.2 文件压缩和解压
import zipfile
def zip_files(files, zip_name):
with zipfile.ZipFile(zip_name, 'w') as zipf:
for file in files:
zipf.write(file)
def unzip_file(zip_name, extract_path):
with zipfile.ZipFile(zip_name, 'r') as zipf:
zipf.extractall(extract_path)
if __name__ == "__main__":
zip_files(["file1.txt", "file2.txt"], "files.zip")
unzip_file("files.zip", "/path/to/extract")
这段代码展示了如何使用zipfile库对文件进行压缩和解压。
3. 系统命令执行
import subprocess
def execute_command(command):
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
return result.stdout
if __name__ == "__main__":
print(execute_command("ipconfig"))
这段代码使用subprocess库执行系统命令,并返回命令的输出结果。
4. 定时任务
import schedule
import time
def job():
print("执行任务...")
schedule.every(10).minutes.do(job)
while True:
schedule.run_pending()
time.sleep(1)
这段代码使用schedule库实现了定时任务。每隔10分钟执行一次job函数。
通过以上几个示例,我们可以看到,使用Python脚本可以轻松搞定日常运维任务。在实际应用中,可以根据具体需求对脚本进行扩展和优化。希望这些示例能对您有所帮助!
