欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python檢查 云備份進程是否正常運行代碼實例

 更新時間:2019年08月22日 14:14:37   作者:星拂曉空  
這篇文章主要介紹了Python檢查 云備份進程是否正常運行代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了Python檢查 云備份進程是否正常運行代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

場景:服務器自動備份數(shù)據(jù)庫文件,每兩小時生成一個新備份文件,通過云備份客戶端自動上傳,需要每天檢查是否備份成功。

實現(xiàn):本腳本實現(xiàn)檢查文件是否備份成功,進程是否正常運行,并且發(fā)送相關郵件提醒。

#! /usr/bin/env python
import os
import time
import smtplib
from email.mime.text import MIMEText
from email.header import Header 
from configparser import ConfigParser 
def SendMail(server,sender,pwd,receiver,msg):
  '''
  Conncet to Office365 mail server and sent emails
   
  '''
  email = smtplib.SMTP(server,587)
  email.starttls()
  email.ehlo(server)
  email.login(sender,pwd)
  email.sendmail(sender,receiver,msg)
  email.quit()     
def GetNewFiles(path,num):
  '''
  Get file lists and return the last num created files   
  '''
  lists = os.listdir(path)
  lists.sort(key=lambda fn:os.path.getctime(path+'\\'+fn))   
  return lists[-num : ]   
def CheckProcess(name):
  '''
  Check if the process exits and return result.
   
  ['\n', 'Image Name           PID Session Name    Session#  Mem Usage\n', '========================= ======== ================ =========== ============\n', 'Dropbox.exe         20484 Console          1   71,652 K\n', 'Dropbox.exe         23232 Console          1   2,456 K\n', 'Dropbox.exe         61120 Console          1   2,168 K\n']
  
  '''
  proc = []
  p = os.popen('tasklist /FI "IMAGENAME eq %s"' % name)
  for x in p:
    proc.append(x)
  p.close()
  return proc
   
def MailContent(path,num):
  '''
  make the mail contents
  '''
  content = []
   
  dropbox = CheckProcess('dropbox.exe')
  carboniteservice = CheckProcess('carboniteservice.exe')
   
  #IF process doesn't run
  if len(dropbox) < 2 or len(carboniteservice) < 2 :
    content.append("Dropbox or CarBonite doesn't run")
    s = '\n\t'.join(dropbox) + '\n\n' + '\n\t'.join(carboniteservice)
    content.append("Process Check Result:\n\t" + s)
    return content
   
  #Check if the backup files are correct.
  files = GetNewFiles(path,num)
  file_ctime = os.path.getctime(path + '\\' + files[0])
  now = time.time() - 86400
   
  if file_ctime > now :
    content.append("DB Backup Successfull")
    body = "\nThe Backup files are:\n\t" + '\n\t'.join(files)
    content.append(body)
    return content
  else :
    content.append("DB Backup Failed")
    body = "\nThe last backup sucessfull file is " + files[-1]
    content.append(body)
    return content  
def main():
   
  #server = 'smtp.office365.com'
  #sender = 'online@netbraintech.com'
  #receiver = ['gavin.yuan@netbraintech.com' , 'feng.liu@netbraintech.com']
  #pwd = 'Netbrain12'
   
  config = ConfigParser()
  config.read_file(open('config.ini'))
  path = config.get('os', 'path')
  receiver = config.get('email', 'receiver')
  server = config.get('email', 'server')
  sender = config.get('email', 'sender')
  pwd = config.get('email', 'pwd')   
  content = MailContent(path,12)
  #content = MailContent("D:\\test",6)
  mail_content = content[1]   
  msg = MIMEText(mail_content, "plain", "utf-8")
  msg["Subject"] = Header(content[0], "utf-8")
  msg["From"] = sender
  msg["To"] = Header(receiver)   
  SendMail(server,sender,pwd,receiver.split(','),msg.as_string()) 
if __name__ == '__main__':
  main()

ini配置文件內容

[os]
path=D:\test
[email]
server=smtp.office365.com
sender=xxxx@outlook.com
pwd=xxxxx
receiver=xx@outlook.com,xxxxx@gmail.com

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python冒泡排序算法的實現(xiàn)代碼

    python冒泡排序算法的實現(xiàn)代碼

    這篇文章主要介紹了python冒泡排序算法的實現(xiàn)代碼,大家參考使用
    2013-11-11
  • Python通用循環(huán)的構造方法實例分析

    Python通用循環(huán)的構造方法實例分析

    這篇文章主要介紹了Python通用循環(huán)的構造方法,結合實例形式分析了Python常見的交互循環(huán)、哨兵循環(huán)、文件循環(huán)、死循環(huán)等實現(xiàn)與處理技巧,需要的朋友可以參考下
    2018-12-12
  • Python中關于property使用的小技巧

    Python中關于property使用的小技巧

    俗話說條條大路通羅馬,同樣是完成一件事,Python 其實提供了好幾個方式供你選擇。property() 是一個比較奇葩的BIF,它的作用把方法當作屬性來訪問,從而提供更加友好訪問方式
    2021-09-09
  • Python交互式圖形編程的實現(xiàn)

    Python交互式圖形編程的實現(xiàn)

    這篇文章主要介紹了Python交互式圖形編程的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python爬蟲爬取ts碎片視頻+驗證碼登錄功能

    Python爬蟲爬取ts碎片視頻+驗證碼登錄功能

    這篇文章主要介紹了Python爬蟲爬取ts碎片視頻+驗證碼登錄功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Linux 發(fā)郵件磁盤空間監(jiān)控(python)

    Linux 發(fā)郵件磁盤空間監(jiān)控(python)

    這篇文章主要介紹了Linux發(fā)郵件磁盤空間監(jiān)控功能,python實現(xiàn),需要的朋友可以參考下
    2016-04-04
  • PyQt5如何將.ui文件轉換為.py文件的實例代碼

    PyQt5如何將.ui文件轉換為.py文件的實例代碼

    這篇文章主要介紹了PyQt5之如何將.ui文件轉換為.py文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Pytorch使用transforms

    Pytorch使用transforms

    這篇文章主要介紹了Pytorch使用transforms,tansforms功能,通俗地講,類似于在計算機視覺流程里的圖像預處理部分的數(shù)據(jù)增強。下面來看看文章的具體內容介紹吧,需要的朋友可以參考一下
    2021-12-12
  • python 實現(xiàn)視頻流下載保存MP4的方法

    python 實現(xiàn)視頻流下載保存MP4的方法

    今天小編就為大家分享一篇python 實現(xiàn)視頻流下載保存MP4的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python讀取環(huán)境變量的方法和自定義類分享

    Python讀取環(huán)境變量的方法和自定義類分享

    這篇文章主要介紹了Python讀取環(huán)境變量的方法和自定義類分享,本文直接給出代碼實例,需要的朋友可以參考下
    2014-11-11

最新評論