Бэкап 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 на следующей неделе буду переносить систему на новый диск… переставлять как то не хочется…
Вы можете отслеживать комментарии к этой записи с помощью RSS 2.0. Вы можете оставить комментарий, или использовать trackback с вашего сайта.
использование smtp хорошо для бекапа скриптов и конфигов. В моем случае, это еще и дампы mysql, поэтому по трезвому мысля остановился на gmailfs + rsync.
В данном случае методика хороша тем что на gmail дается много места, конечно не совсем честно его так использовать но как временное решение пойдет.
В идеале для бэкапа на удаленный сервер конечно лучше связка rsync + ssh.