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

Получил некоторый заряд бодрости когда на домашнем ПК начал сыпаться диск. :)

Немного подумав проверил бэкапы, перенес их свежие версии на DVD, осталось только понять что делать с локальным SVN репозиторием в котором хранятся все скрипты.

Что делать… что делать..
Отсылать по почте на Gmail. Благо ящик большой…

Отсылать вот таким скриптом на перле.

Поясню некоторые детали:
$backup_source – папка где храниться то что надо резервировать
$backup_folder – собственно то что резервируем

При использовании скрипта под windows необходимо только переписать пути.

#!/usr/bin/perl -w
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 с вашего сайта.

Комментарии: 2 »

 
  • mike:

    использование smtp хорошо для бекапа скриптов и конфигов. В моем случае, это еще и дампы mysql, поэтому по трезвому мысля остановился на gmailfs + rsync.

    • В данном случае методика хороша тем что на gmail дается много места, конечно не совсем честно его так использовать но как временное решение пойдет.

      В идеале для бэкапа на удаленный сервер конечно лучше связка rsync + ssh.

 

Добавить комментарий

Для отправки комментария вы должны авторизоваться.