Check if directory mounted with Python

Sever Window bên mình luôn cần phải mount một directory tại một server Linux và một directory tại một server Window khác. Nhưng Server Window thỉnh thoảng bị mất mount các thư mục này. Nguyên có thể do đường mạng trục trặc, server chứa thư mục cần mount gặp trục trặc hoặc do việc logout không đúng cách. Việc không mount được gây nên một số job copy file hoặc ghi file bị lỗi nên việc mount cần phải được theo dõi liên tục.

Mình đã viết một đoạn Script Python làm nhiệm vụ check các directory có còn được mount hay không? Nếu không có tức là đã bị mất mount thì mình sẽ gửi email cảnh báo để vào mount lại. Code mình viết bằng Python, server là Window nên mình dùng Task Schedule để thực thư file bath gọi đoạn lệnh Python.

 import os
 from subprocess import Popen, PIPE
 import smtplib
 import sys
 from datetime import datetime, timedelta
 now = datetime.now()
 yesterday=datetime.strftime(datetime.now() - timedelta(1), '%Y%d%m')
 subject = "Check folder remote mount of server" + '\n\r'
 msg = "1"
 if  os.path.exists("Y:")== False or os.path.exists("X:")== False:
     msg = "Forder Y or X not mounted. Please remote server to check."
 sender = '[email protected]'
 message = 'From: Mail1 [email protected] ' + '\n' + 'To: '
 receivers = ['[email protected]','[email protected]']
 receivers = ['[email protected]']
 count = 0
 receipent_list = ''
 for each_receipent in receivers:
     if count < len(receivers) -1:
         receipent_list = receipent_list + each_receipent + ','
     else:
         receipent_list = receipent_list + each_receipent
     count = count + 1
 message = message + receipent_list + '\n'
 message = message + 'Subject: ' + subject + '\n\r'
 message = message + msg + '\n'
 if msg != '1':
     try:
        smtpObj = smtplib.SMTP('mail.trituenhantao.org')
        smtpObj.sendmail(sender, receivers, message)         
        print("Successfully sent email")
     except SMTPException:
        print("Error: unable to send email")

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *