Python實現運維案例

2021-09-22 01:50:42 字數 1565 閱讀 9038

python是一種跨平台程式語言,在多種平台都能得到很好的支援,在各種平台環境的運維過程中,有些工作是很繁瑣重複的工作,可以編寫指令碼作為工具輔助運維工作,比如linux中使用shell指令碼,但是shell指令碼編寫、除錯比較困難,支援的輔助庫少,編寫稍微複雜些的功能就比較耗時、容易出錯了。本文通過python實現**,作為學習和技術交流。

參見:

說明:工程目錄中的附件有很多檔案,積累了多年,導致整個應用目錄非常龐大,歷年記錄基本上是不會讀取的,只保留當年或當月的記錄,這樣太大不方便應用遷移,本例實現將附件檔案的歷史目錄遷移備份到目標備份目錄。

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import os

import shutil

## 處理檔案及目錄

# @a_srcpath 目錄路徑

# # copyormove 複製操作還是移動操作 false為複製操作,true為移動操作

allfile =

def handle_dir(a_srcpath, a_findkey, a_copyormove=false):

srcpathlist = os.listdir(a_srcpath)

#print(str(srcpathlist))

for spath in srcpathlist:

filepath = os.path.join(a_srcpath, spath)

# print("filepath="+filepath)

# 判斷是目錄

if os.path.isdir(filepath):

handle_dir(filepath, a_findkey, a_copyormove)

if filepath.find(a_findkey)>=0:

len_asrcpath = len(srcpath_root)

destpath= destpath_root+filepath[len_asrcpath:]

# destpath = filepath

#print("destpath="+destpath)

#print("filepath=" + filepath)

if a_copyormove:

shutil.move(filepath, destpath) #移動目錄

else:

shutil.copytree(filepath, destpath) #複製目錄

return allfile

findkey='2018-'

srcpath_root='/home/mysoft/attachments'

destpath_root='/home/mysoft/bk/attachments_history/'+findkey

allfiles=handle_dir(srcpath_root,findkey,false)

for item in allfiles:

print(item)

持續完善,待續...

Linux運維小小案例

去掉 兩個字元,取第5到14位。openssl rand base64 40 sed s g cut c 5 14 或者生成16位隨機字元,1個,要包含數字 n和特殊字元 y。pwgen 16 1 n y bin bash filename faster.html dirname test cd d...

python運維課程標準 Python運維初級課程

隨著資訊時代的持續發展,it 運維已經成為 it 服務內涵中重要的組成部分。面對越來越複雜的業務以及日趨多樣化的使用者需求,不斷擴充套件的 it 應用需要合理的 it 運維保障 it 服務靈活便捷 安全穩定。從初 期個位數伺服器發展到龐大的資料中心,僅依靠人工已經無法滿足在技術 業務 管理等方面的要...

運維筆記 Python

python擴充套件包大全 python3常用進製轉換 hex 16 10進製轉16進製制 oct 8 10進製轉8進製 bin 8 10進製轉2進製 int 10 字串轉換成10進製整數 int 10 16 字串轉換成16進製制整數 int 0x10 16 字串轉換成16進製制整數 int 10 ...