Check file exists on server

Hàng ngày hệ thống backup ra file và sau đó được chuyển sang một ổ SAN backup lại thuộc một dải mạng khác. Job chuyển file này hoạt động tốt nhưng thỉnh thoảng bị lỗi do mạng có trục trặc. Việc check xem file có được gửi sang hay không rất quan trọng để đảm bảo an toàn hệ thống. Trước đây ở công ty cũ toàn check thủ công bằng cách FTP vào ổ SAN để kiểm tra, sang công ty mới mình quyết định viết job kiểm tra việc này.

Job này hàng ngày chạy có nhiệm vụ kiểm tra file sáng sớm nay có được copy thành công sang ổ SAN hay không. Code mình viết trên Python, server là Window nên mình dùng Task Schedule để thực thư file bath gọi đoạn lệnh Python. Dù có hay không nó sẽ gửi email thông báo tới cho mình, việc hàng ngày của mình giờ chỉ là check email và thỉnh thoảng vào kiểm tra xem job chạy có ổn định hay không.

Hiện tại đã có job xóa các file backup cũ cách đây 1 tuần, nhưng nếu có trường hợp đột xuất việc file backup có dung lượng bất thường hoặc ổ cứng đầy (vì 1 lý do nào đó) thì mình vẫn chưa có job cách bảo.

 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')
 abc="G:\Export_COSREP\cosrep_exp_full"+str(yesterday)+".dmp"
 subject = "Bios server export " + '\n\r'
 msg = "1"
 if os.path.exists(abc) == False:
     msg = "File export is not OK. Not found file: " + abc
 else:
     msg = "File export is OK. Found file: " + abc
 sender = '[email protected]'
 message = 'From: Mail [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'
 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 *