Gentoo Archives: gentoo-user-ru

From: Sergiy Borodych <bor@×××××××××.ua>
To: gentoo-user-ru@l.g.o
Subject: Re: [gentoo-user-ru] LVM snapshot
Date: Fri, 04 Feb 2011 21:31:39
Message-Id: 4D4C7001.2040301@univ.kiev.ua
In Reply to: Re: [gentoo-user-ru] LVM snapshot by Sergey Kobzar
1 01/28/11 21:43, Sergey Kobzar написав(ла):
2 > On 01/28/11 18:50, Alex Efros wrote:
3 >
4 >> Это можно реализовать иначе - установив FLUSH TABLES WITH READ LOCK из
5 >> скрипта, в котором потом сделать exec sh-скрипта для выполнения бэкапа
6 >> через lvm - пока процесс с PID-ом установившим FLUSH TABLES не выйдет
7 >> блокировка будет стоять, а когда он выйдет будет сделан автоматический
8 >> UNLOCK TABLES.
9 >>
10 >> Вот пример (вспомогательный скрипт моей тулзы powerbackup), который
11 >> запускает tar и использует отдельный mysql-аккаунт для работы:
12 >>
13 >> ---cut---
14 >> #!/usr/bin/perl
15 >> # mysql> GRANT RELOAD ON *.* TO _backup@localhost IDENTIFIED BY
16 >> "_backup";
17 >> use warnings;
18 >> use strict;
19 >> use DBI;
20 >>
21 >> chomp(my $user = `cat /etc/powerbackup/mysql.user`);
22 >> chomp(my $pass = `cat /etc/powerbackup/mysql.pass`);
23 >> my $dbh = DBI->connect('dbi:mysql:', $user, $pass, {RaiseError=>1});
24 >> $dbh->do('FLUSH TABLES WITH READ LOCK');
25 >>
26 >> exec('tar', @ARGV);
27 >> ---cut---
28 >
29 > Да, можно залочить таблицы php/perl скриптом, потом вызвать shell скрипт
30 > для бэкапа, потом снять лок в perl/php.
31 >
32 > Можно все это дело вообще одним perl/shell скриптом реализовать, но мне
33 > хотелось использовать именно shell дабы не прыгать от одного скрипта к
34 > другому, т.к. многие вещи удобно делать из shell, а не извращаться с
35 > perl/php. Да и доставлять ничего не придется.
36 >
37 > Видимо другого варианта нет, или же просто забить на ошибку... Вроде бы
38 > и так все работает.
39 >
40
41 можна посмотреть еще на
42
43 * app-backup/mylvmbackup
44 Latest version available: 0.13
45 Latest version installed: 0.13
46 Size of files: 36 kB
47 Homepage: http://lenzg.net/mylvmbackup/
48 Description: mylvmbackup is a tool for quickly creating backups
49 of MySQL server's data files using LVM snapshots
50 License: GPL-2
51
52 --
53 Sergiy Borodych
54 http://bor.org.ua