linux下python指令碼編寫小結
1.如何在linux系統中,看是否安裝了python:
—which python 或者 which python3
如何在python指令碼中使用shell命令:
----通過os模組的os.system()來使用,需要注意的是引數是字串,返回值是exit code。雖然在pyton直譯器中可以顯示命令執行結果內容,但shell執行 結果的內容的並不會作為返回值以字串的形式返回。
----如何獲取執行shell命令的結果,目前是通過》重定向輸出到指定文本來實現的。
3.檔案操作:
—python本身有檔案操作的,但由於暫未確定如何獲取shell命令結果內容,所以使用了linux本身的檔案操作。後續有方法可以獲取shell命令結果,可以嘗試使用pyhon本身的檔案操作。
python指令碼小結:
----演示指令碼其實功能很簡單,但完成了運維資訊收集的基本功能,後期通過增加使用shell命令可以改進成蒐集更多運維資訊的指令碼。
----後續需要改進的地方主要是儲存資訊的檔案的迴圈寫入,或者根據檔案大小建立新的檔案,保證可以持續收集資訊。
----在後期可以考慮通過tftp等方式把收集的資訊傳輸到遠端,控制裝置本身因為指令碼使用而占用的內容過大。常見的情況下,比如tcpdump抓包,容易導致裝置oom.
乙個簡單的linux運維指令碼例項:
#!/usr/bin/env python
import os
from time import *
os.system(「cd /tmp」)
os.system(「echo 「the python script is runnuing」」)
os.system(「touch linux_log.txt」)
log_oper=open(「linux_log.txt」,「a+」)
for i in range(1,11,2):
os.system(「pstree >>linux_log.txt」)
os.system(「date >>linux_log.txt」)
#log_oper.write(log_read)
sleep(5)
log_oper.close()
print(「script tests ok」)
執行結果:
linux下的shell 和python編寫
第一句即指定指令碼直譯器 bin bash usr bin env python3或 which python3的哪個 usr bin python3 執行兩種方法 第一種編寫完 直接bash s.sh python3 s.py 第二種賦加x chmod a x s.sh chmod 777 s.p...
linux 下後台執行python指令碼
這兩天要在伺服器端一直執行乙個python指令碼,當然就想到了在命令後面加 符號 python data python server.py python.log 說明 1 表示把標準輸出 stdout 重定向到 那個檔案,這裡重定向到了python.log 2 表示在後台執行指令碼 這樣可以到達目的...
linux 下後台執行python指令碼
這兩天要在伺服器端一直執行乙個python指令碼,當然就想到了在命令後面加 符號 python data python server.py python.log nohup python home www service public skbot.py 說明 1 表示把標準輸出 stdout 重定向...