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")