Бэкап файлов и базы данных с уведомением по email!

Данный сценарий можно использовать как на собственном домашнем компьютере (своём сервере) или на виртуальном хостинге, который позволят задавать выполнение программ в необходимое время (Cron или планировщик заданий).

Резервное копирование данных это первоочередная задача, которую необходимо решить, т.к. в будущем это сэкономит наши время, нервы и средства, если что-то будет утерено в случае аварийной ситуации у хостинг-провайдера или благодаря своему рукожопию.

[python] # -*- coding: utf-8 -*-

import os
import time
from smtplib import SMTP
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
from email import Encoders

# от кого и кому отправлять
fromaddr = «from@rambler.ru»
toaddr = «to@yandex.ru»

# дамп БД и медиафайлы сжимаем в файл buckup.tar.gz
os.system(«mysqldump -u [пользователь] —password=[пароль] [БД] [таблица1] [таблица2]> dump.sql»)
os.system(«tar -zcf backup.tar.gz dump.sql [путь к каталогу с медиа файлами]»)

# создаем почтовое сообщение
msg = MIMEMultipart()
# заполняем поля отправителя, адресата и тему сообщения
msg[‘From’] = fromaddr
msg[‘To’] = toaddr
msg[‘Subject’] = ‘backup ‘+time.asctime()

# текстовая часть сообщения (не забываем указать кодировку)
msg.attach(MIMEText(«Текстовое вложение», «plain», «utf-8»))

# прикрепляем файл backup.tar.gz к почтовому сообщению
att = MIMEBase(‘application’, ‘octet-stream’)
att.set_payload(open(«backup.tar.gz», «rb»).read())
Encoders.encode_base64(att)
att.add_header(‘Content-Disposition’, ‘attachment; filename=»backup.tar.gz»‘)
msg.attach(att)

# соединяемся с почтовым сервером и выполняем авторизацию
server = SMTP(‘mail.rambler.ru’, 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(«почтовый логин», «пароль»)

# отправляем сформированное сообщение, после чего выходим
server.sendmail(fromaddr, toaddr, msg.as_string())
server.quit()
[/python]

Фото аватара

Об авторе Sky

Прописан в интернет. Характер задорный, добродушный. Интроверт по натуре. Не любит хамов, халявщиков, гопников. Увлекается всякой технической ересью. Подписывайся на новые статьи http://xit.org.ru/rss
Запись опубликована в рубрике Python, Практика, Хостинг. Добавьте в закладки постоянную ссылку.

Комментарии запрещены.