заливка бэкапов на Google- или Яndex-почту
ОБНОВЛЕНО 13.06.11
Я давно пользуюсь google-почтой для доменов и по достоинству оценил ее почти неограниченное дисковое пространство, возможность привязки пяти внешних почтовых аккаунтов (с функцией отсылки письма от имени этих аккаунтов), хорошую анти-спам защиту, антивирусную защиту, метки, быстроту, 98% uptime и прочие мелочи, из которых составляется отличная общая картина.
Ее видимая надежность и большое количество места (50 аккаунтов * 7 Gb = 350 Gb на один домен) давно натолкнули на мысль хранить в ней 2С’ные бэкапы, к примеру. У клиентов уже давно крутится скрипт (сформированный, к слову, подправленной обработкой, стыренной отсюда), который запускаясь каждую ночь, делает резервную копию базы и восстанавливает последовательность документов. Хочу заметить, что обработка дает на выходе скомпилированный vbe-скрипт который содержит в себе зашифрованные участки кода. Надежность не 100%, но уж лучше чем ничего. Прикрутить скрипт, который пакует rar’ом дамп базы под паролем и отправляет на почту не составило большого труда.
Все бы хорошо, но уже имелось приличное количество резервных копий, которые тоже бы не помешало залить в инет. Тогда я по-быстрому я написал дополнительный скрипт, который делает то же самое, но в цикле для конкретной папки. Запустил и ушел спать. На утро я открыл почту и понял свою роковую ошибку — резервных копий было где-то на 2 Gb, и меня гугль успешно забанил при попытке залить это все добро за раз. Я очень сильно огорчился, покурил, по-быстрому зарегистрировал Яndex-почту для своего домена и переписал скрипт. Яndex меня не забанил, но почта лажала просто ужасно: бэкапы появлялись в почте с периодичностью в 10 минут, если вообще появлялись, несколько раз админка выдавала мне страницу 404, многие письма попросту вообще не открывались и я плюнул на это дело. Что самое смешное, в тот же день вечером гугль все же перестал сердится на меня и радужно встретил рабочей почтой, с лежавшими там всеми бэкапами! Ведь пока гугль сердился на меня, скрипт исправно работал (общее время заливки бэкапов за 1,5 года составило около 8ми часов) и исправно доставлял письма 🙂
В итоге имеются 2 восьмерочные обработки (заточенные под меня, конечно), которые формируют зашифрованный скрипт, который в свою очередь выполняет такие функции:
- Блокирует соединения с базой на время регламентных работ.
- Выгружает базу в файл, именем которого является текущая дата.
- Запускает встроенную самописную обработку восстановления последовательности документов.
- Сделанный бэкап rar’ом упаковывает в архив под паролем и отсылает либо на Google-, либо на Яndex-почту.
vbs_google.epf (1018 Загрузок) , vbs_yandex.epf (955 Загрузок)
2 отдельных vbs-скрипта которые отсылают конкретный файл на Google-, или Яndex-почту с текущей датой в теме письма:
mail_google.vbs (1063 Загрузки) , mail_yandex.vbs (1016 Загрузок)
и 2 скрипта, которые в цикле архивируют каждый файл и поотсылают архив туда же:
mail_list_google.vbs (1056 Загрузок) , mail_list_yandex.vbs (Одна Загрузка)
советую выдумывать пароли посложнее. Также скажу, что действия, совершаемые скриптом противоречат политике Google и он в праве отказать вам в сервисе, все, конечно же, об этом знают.
UPD 13.06.11
Когда размер отсылаемого архива превысил 25 mb скрипт попросту перестал работать, т.к. у гугла существует ограничение на максимальный объем вложений. Я переделал скрипт таким образом, что при размере до 25ти mb архив отсылается одним письмом, если же размер больше — архив будет паковаться в виде томов, размер каждого составит 24500 kb (или 25’088’000 bytes). Далее — эти части будут отсылаться с паузой в 15 минут и указанием номера тома в теме письма. Таким образом, можно хранить резервные копии больших баз, таких, как УТП, УПП и пр. Если настроить резервное копирование на запуск раз в неделю и имея размер архива, к примеру, 150 mb нам хватит одного почтового ящика на 50 недель (1 год). Меняя почтовый ящик каждый год — мы сможем хранить резервные копии в течении 50 лет (напомню — 50 аккаунтов на один почтовый домен). Так же я вынес в шапку обработки все индивидуальные параметры, такие, как логины, пароли, пути к базе и программам, что облегчает модификацию «под себя». Советую еще быть аккуратным с почтовым паролем, у меня возникли проблемы с символами ! и % при шифровании vbs-скрипта, так что сначала делайте простую тестовую отправку зашифрованным скриптом.
Все необходимые файлы в статье обновлены.
Скажите, а у вас есть RSS поток в этом блоге?
да конечно, в шапке, слева от моей фотки есть значек RSS. Также он есть и в нижней части блога — в футере.
http://feeds.feedburner.com/stranichko 😉