Иногда бывают ситуации, когда требуется создание резервной копии на носителе, к которому есть доступ не только у вас. Если есть желание уберечь свои данные от посторонних глаз, то тут, конечно же, потребуется шифрование. Один из быстрых и простых способов добиться этого – использование связки fsbackup и gnupg. Далее пошаговое руководство.
- Устанавливаем fsbackup, правим конфиг.
- Создаём ключи:
$ gpg --gen-key gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? 1 RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct? (y/N) y You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <[email protected]>" Real name: SysAdmin Email address: mymbox@avz.org.ua Comment: You selected this USER-ID: "SysAdmin <[email protected]>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key. Repeat passphrase:
- Копируем ключи на сервер бекапов:
$ scp ~/.gnupg/*.gpg backupuser@backupserver.some.where:~/.gnupg
- Проверяем, что в конфиг-файле fsbackup-а правильно установлены следующие переменные:
$prog_pgp = "/usr/bin/gpg"; # должно соответствовать имени пользователя при создании ключей $cfg_pgp_userid = "mymbox";
- Запускаем процесс создания бекапа:
# /usr/local/fsbackup/create_backup.sh OS: linux Creating system config archive... Creating package list... Creating remote_ssh backup: s1 PGP: enabled Current increment number: 1 Adding /usr/local/fsbackup.... done Adding /usr/src/linux/.config.... done Adding /root.... done Adding /etc.... done Storing remote ssh backup... gpg: using PGP trust model gpg: using subkey 656FA34 instead of primary key 0F36EF13 gpg: This key belongs to us gpg: reading from `[stdin]' gpg: writing to stdout gpg: RSA/AES256 encrypted for: "656FA34 SysAdmin <[email protected]>" ***** Backup successful complete.
- При необходимости извлечь файлы из бекапа на сервере бекапов делаем так:
$ ls -l total 50048 -rw-rw-r--. 1 avz avz 50814369 Фев 15 16:15 s1-2012.02.15.16.15.17-0.tar -rw-rw-r--. 1 avz avz 0 Фев 15 16:15 s1-2012.02.15.16.15.17.del -rw-rw-r--. 1 avz avz 91076 Фев 15 16:15 s1-2012.02.15.16.15.17.dir -rw-rw-r--. 1 avz avz 335872 Фев 15 16:15 s1-2012.02.15.16.15.17.hash -rw-rw-r--. 1 avz avz 373 Фев 15 16:15 s1-2012.02.15.16.15.17.list -rw-rw-r--. 1 avz avz 0 Фев 15 16:15 s1-2012.02.15.16.15.17.lsize $ file s1-2012.02.15.16.15.17-0.tar s1-2012.02.15.16.15.17-0.tar: data $ mv s1-2012.02.15.16.15.17-0.tar s1-2012.02.15.16.15.17-0.tar.gpg $ gpg -d s1-2012.02.15.16.15.17-0.tar.gpg > s1-2012.02.15.16.15.17-0.tar You need a passphrase to unlock the secret key for user: "SysAdmin <[email protected]>" 2048-bit RSA key, ID 656FA34, created 2012-02-15 (main key ID 0F36EF13) ┌───────────────────────────────────────────────────────────────────────┐ │ Please enter the passphrase to unlock the secret key for certificate: │ │ "SysAdmin <[email protected]>" │ │ 2048-bit RSA key, ID 656FA34, │ │ created 2012-02-15 (main key ID 0F36EF13). │ │ │ │ │ │ Passphrase ********__________________________________________________ │ │ │ │ <OK> <Cancel> │ └───────────────────────────────────────────────────────────────────────┘ gpg: encrypted with 2048-bit RSA key, ID 656FA34, created 2012-02-15 "SysAdmin <[email protected]>" $ file s1-2012.02.15.16.15.17-0.tar s1-2012.02.15.16.15.17-0.tar: POSIX tar archive (GNU) $ tar -xf s1-2012.02.15.16.15.17-0.tar
Что касается быстродействия при расшифровке, то могу сообщить следующее:
$ ls -l s1-2012.02.15.23.02.34.tar.gpg -rw-rw-r--. 1 avz avz 4164349204 Фев 15 23:23 s1-2012.02.15.23.02.34.tar.gpg $ time gpg -d s1-2012.02.15.23.02.34.tar.gpg > s1-2012.02.15.23.02.34.tar You need a passphrase to unlock the secret key for user: "SysAdmin <[email protected]>" 2048-bit RSA key, ID 656FA34, created 2012-02-15 (main key ID 0F36EF13) real 3m19.129s user 2m4.648s sys 0m6.255s $ ls -l s1-2012.02.15.23.02.34.tar -rw-rw-r--. 1 avz avz 5637232640 Фев 16 14:31 s1-2012.02.15.23.02.34.tar $ cat /proc/cpuinfo | grep 'model name' | head -n 1 model name : Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz $ cat /proc/meminfo | grep MemTotal: MemTotal: 3835144 kB
Последние версии mysql ругаются на
"mysqldump: ambiguous option '--all' (all-databases, allow-keywords)"
Чтобы не ругалось, надо в файле scripts/mysql_backup.sh параметр --all заменить на --all-databases