shell與python判斷文件是否存在


  日常運維中,我們會存在每日備份的現象,針對這一種情況可能會要求監控文件是否存在。比較笨拙的方法就是登錄上服務器到某個路徑下查看文件是否存在,除此之外,我們可以利用shell或者python來編寫監控文件是否存在的腳本來減少工作量。當然,作為一個同樣是小白的我,編寫的腳本可以略顯簡單,希望大神們可以指點指點(^_^)

1、shell編寫監控文件是否存在的腳本

  我們可以利用CRT或者xshell等工具編寫:

  以下是shell中判斷文件是否存在,若不存在,則自動創建的方法。(當然,能用英文最好用英文寫注釋,本人英文水平太差...)

#!/bin/bash
#判斷/export/home/wlan/AUTH這個路徑下是否每天都會生成AUTH_*.xml文件
#文件名稱
filename=/root/AUTH_1_1_`date +%Y%m%d`.xml
if [ ! -f $filename ];then
        touch $filename
        echo "file mk success"
else
        echo "exist"
fi

 

2、python編寫鉸孔文件是否存在的腳本(這個寫了兩個系統的實現,其實都差不多)

  1)Windows上:可以利用pycharm工具,當然,前提是環境都配置好了,python環境搭建可以百度一下哈

#判斷文件是否存在,若不存在則創建
#
導入模塊 import os import datetime #文件名稱 filenameHead = "C:\\xxx" filenameFoot = ".txt" nowTime = datetime.datetime.now().strftime("%Y%m%d") if os.path.isfile( filenameHead + nowTime + filenameFoot ): print("文件已存在") else: file = open ( filenameHead + nowTime + filenameFoot,"w" ) file.close () print("文件已創建")

  2)Linux上:同樣是使用CRT等工具,只不過文件結尾都是.py的格式,具體的可以自己實現一下看看

#確認字符類型
#-*- coding:utf-8 -*- 
#導入文件用來判斷文件是否存在的模塊
import os  
#導入獲取時間的模塊            
import datetime        
#變量,獲取當前時間
nowtime = datetime.datetime.now().strftime("%Y%m%d")  
#變量,定義文件所在路徑 
path = "/home/tnms2/python/"
#變量,定義文件前綴                           
fileHead = "xxx"     
#變量,定義文件后綴                                  
fileFoot = ".txt"                                      

#判斷文件是否存在
if os.path.isfile( path + fileHead + nowtime + fileFoot ):
        print( "The " + fileHead + nowtime + fileFoot + " exist" )
#若不存在,則創建文件
else:
         #創建文件的語法 
        file = open( path + fileHead + nowtime + fileFoot,"w" )
        file.close()
        print( "The " + fileHead + nowtime + fileFoot + " touch successed" )

以上都是可以判斷文件是否存在的腳本,恩,算是腳本吧,雖然看着比較簡單。如果想要每天都能看到,咱們可以設置一個定時任務並將執行結果打印出來,這樣每天只需要登錄服務器查看打印出來的文件即可。

#設置定時任務
corntab -e
#每天九點自動執行腳本並且將結果追加到file_exist.log中
00 9 * * * python /export/home/wlan/file_exist.py >> /export/home/wlan/file_exist.log 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM