Бэкап svn репозитория на Gmail

Получил некоторый заряд бодрости когда на домашнем ПК начал сыпаться диск.
Немного подумав проверил бэкапы, перенес их свежие версии на DVD, осталось только понять что делать с локальным SVN репозиторием в котором хранятся все скрипты.
Что делать… что делать..
Отсылать по почте на Gmail. Благо ящик большой…
Отсылать вот таким скриптом на перле.
Поясню некоторые детали:
$backup_source – папка где храниться то что надо резервировать
$backup_folder – собственно то что резервируем
При использовании скрипта под windows необходимо только переписать пути.
use strict;
use Archive::Tar;
use File::Find;
use MIME::Lite;
use Net::SMTP;
sub sendmail();
my $email = ‘my.email@gmail.com’;
my $message_from = ‘Backup Script ‘;
my $message_body = "Here’s the attachment file(s) you wanted";
my $smtp_server = ‘smtp.server.com’;
my @archive_list;
my $backup_source = ‘/home/user/bin/’;
my $backup_folder = ‘svn’;
my $tar_file = ‘/home/user/temp/gmailtar.tgz’;
chdir($backup_source) || die "cannot change directory ($!)";
find (sub { push @archive_list, $File::Find::name }, $backup_folder);
Archive::Tar->create_archive($tar_file, "9", @archive_list);
sendmail();
unlink ($tar_file);
sub sendmail() {
my $msg = MIME::Lite->new(To => $email,
Subject => "Backup email",
From => $message_from,
Type => "multipart/mixed" ) or die "Error creating multipart container: $!\n";
$msg->attach (
Type => ‘TEXT’,
Data => $message_body
) or die "Error adding the text message part: $!\n";
$msg->attach(Type => "application/gzip",
Path => $tar_file,
Filename => "backup.tgz");
$msg->send(‘smtp’, $smtp_server);
}
Версию посвежее всегда можно найти в моем git репозитории.
PS на следующей неделе буду переносить систему на новый диск… переставлять как то не хочется…
Похожие статьи
Информация об авторе
|
|
Сергей Мариничев. Вы можете присоединиться ко мне в Facebook или в Twitter. |
А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Вы можете оставить комментарий.
использование smtp хорошо для бекапа скриптов и конфигов. В моем случае, это еще и дампы mysql, поэтому по трезвому мысля остановился на gmailfs + rsync.
mikeЦитировать
В данном случае методика хороша тем что на gmail дается много места, конечно не совсем честно его так использовать но как временное решение пойдет.
В идеале для бэкапа на удаленный сервер конечно лучше связка rsync + ssh.
adminЦитировать