Делам backup на amazon s3

Ну о пользе делать бэкапы мы дискутировать не будем. Что то ночью мне приснилось что бэкапы на домашнем нас-е (который по совместительству еще и медиа плеер) держать как то не совсем правильно, а если правильно то этого не достаточно.

Посему было принято решение разместить для начала бэкапы баз форума сайта и блога на сервисах Amazon S3. Для архивирования данных в последствии будет использован Amazon Glacier.

Эта статья – поиск правильного решения. Попробую несколько.

Стоимость своего бэкапа я пытался честно расчитать используя калькулятор амазона,

плюнул и решил посмотреть по результата.

Зарешестрировал аккаунт на Amazon S3 и прицепил к нему виртуальную карту QIWI.

для начала пробуем s3cmd
[cc]
oot@mx1/usr/ports> make search name=s3cmd
Port: py27-s3cmd-1.0.1_1
Path: /usr/ports/net/py-s3cmd
Info: Unix-like tools to manipulate stored files from the command line
Maint: clsung@FreeBSD.org
B-deps: gettext-0.18.1.1 libiconv-1.14 python27-2.7.3_6
R-deps: gettext-0.18.1.1 libiconv-1.14 python27-2.7.3_6
WWW: http://s3tools.logix.cz/s3cmd
[/cc]

gnupg для шифрования у меня уже стоит

[cc]
root@mx1/usr/ports> pkg_info | grep gnupg
gnupg-2.0.19_3 The GNU Privacy Guard
root@mx1/usr/ports>
[/cc]

[cc]
root@mx1/usr/ports/net/py-s3cmd> make install clean
[/cc]

процесс конфигурирования s3cmd интерактивный. запускаем:

[cc]
/usr/local/bin/s3cmd –configure
[/cc]

Свои Amazon secret key и access key смотрим тут

получаем

a href=”https://console.aws.amazon.com/s3/home?region=us-east-1″>создаем новый бакет на амазоне или из консоли.

[cc]
s3cmd mb s3://vslip1970
[/cc]

надо заметить что имя бакета должно быть уникально.

и бэкапим.

[cc]

root@mx1/usr/local> s3cmd sync /usr/local/backup/ s3://vslip1970/

WARNING: Redirected to: vslip1970.s3-external-3.amazonaws.com
/usr/local/backup/backup-hdtvzone -> s3://vslip1970/backup-hdtvzone [1 of 1943]
19826 of 19826 100% in 0s 93.51 kB/s done
/usr/local/backup/backup-satexpert -> s3://vslip1970/backup-satexpert [2 of 1943]
19841 of 19841 100% in 0s 103.93 kB/s done
/usr/local/backup/backup-sysb -> s3://vslip1970/backup-sysb [3 of 1943]
19899 of 19899 100% in 0s 96.16 kB/s done
/usr/local/backup/backup-vskiev -> s3://vslip1970/backup-vskiev [4 of 1943]

[/cc]

в итоге

[cc]
/usr/local/backup/vs-kiev/weekly/vs-wordp/vs-wordp_week.52.2012-12-29.sql.gz -> s3://vslip1970/vs-kiev/weekly/vs-wordp/vs-wordp_week.52.2012-12-29.sql.gz [1943 of 1943]
687940 of 687940 100% in 0s 1476.63 kB/s done
Done. Uploaded 40280736969 bytes in 6510.5 seconds, 5.90 MB/s

[/cc]

далее эта задача ставится в cron

PS если почистил локальную директорию с бэкапами то

[cc]
s3cmd sync —skip-existing —delete-remove /usr/local/backup/ s3://vslip1970/
[/cc]

Как восстановить данные?

Чтобы восстановить все данные из S3, в команде синхронизации меняем местами источник и цель, не забывая убрать удаление отсутсвующих файлов:

s3cmd sync s3://mybucketname/backupfolder /local/backup/dir/
Происходит синхронизация в обратную сторону.

Либо, для восстановления одного файла, воспользуемся командой get:
s3cmd get s3://mybucketname/backupfolder/backup.tar.gz /local/backup/dir/

Оставить комментарий