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 |