日常運維中,我們會存在每日備份的現象,針對這一種情況可能會要求監控文件是否存在。比較笨拙的方法就是登錄上伺服器到某個路徑下查看文件是否存在,除此之外,我們可以利用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