Всем известно, что у Google хорошая почта. Gmail хорош тем, что предоставляет много места и есть обработчики почты, а значит это можно использовать для хранения бекапов сайтов и баз данных с хостинга. Это удобнее чем пользоваться бекапами от хостера (Masterhost), которые нужно заказывать письмом. Но так же известно, что Google индексит почту для пущей релевантности рекламы в почте, а это не очень приятно - мало ли, что он там найдёт. Значит необходимо зашифровать вложения, а чтобы всё было шоколадно я буду использовать GPG, так как уже использую его для шифрования Jabber
Для начала нужно сгенерировать ключ для хостинга (ну не хранить же там свой приватный), это нужно чтобы подписать личный публичный ключ, что позволить шифровать файлы в командном режиме иначе запросы вида не позволять шифровать в скриптах
gpg: 54A885F6: Нет свидетельств того, что данный ключ принадлежит пользователю указанному в User ID ключа
Нет уверенности в том, что ключ принадлежит человеку указанному
в User ID ключа. Если Вы ТОЧНО знаете, что Вы делаете,
можете ответить на следующий вопрос утвердительно.
Все равно использовать данный ключ? (y/N)
# создаём ключ для хостинга ( ?? - скрытые по соображениям безопасности символы)
gpg --gen-key
# смотрим результат
gpg --list-keys
--------------------------------
pub 1024D/B??D75D7 2009-11-25
uid u??7293 (web hostring user)
sub 2048g/F12E711F 2009-11-25
# публикуем публичный ключ хостига в сети
gpg --keyserver keyserver.ubuntu.com --send-keys B??D75D7
# ищем ID собственного ключа
gpg --keyserver keyserver.ubuntu.com --search-keys ffsdmad@gmail.com
# импортируем личный публичный ключ
gpg -a --keyserver keyserver.ubuntu.com --recv-keys EF593D88
# подписываем личный ключ, программа запросит пасскей от секретного ключа хостинга
gpg --sign-key EF593D88
теперь можно шифровать файлы вот так
gpg -e -r EF593D88 u??7293-2009-11-25.sql.bz2
И поправим скрипт бекапа базы данных на gmail bin/mysql_backup2gmail.sh
#!/bin/sh
cd ~/
uname=`whoami`
mmysqld='mysqldump --quick --default-character-set=utf8 -u$uname -p************* -h$uname.mysql.masterhost.ru $uname $@ |iconv -f CP1251 -t UTF-8'
bzsql=$name-`date "+%Y-%m-%d"`.sql.bz2
sbzsql="$bzsql.gpg"
$mmysqld | bzip2 > $bzsql
gpg -e -r EF593D88 $bzsql
uuencode $sbzsql $sbzsql | mail -s "backup mysql $uname `date '+%Y-%m-%d'`" ffsdmad@gmail.com
rm $bzsql $sbzsql
И вставляем его в crontab (каждый 3 и 7 день недели в 11 часов 15 минут)
15 11 * * 3,7 backup_mysql.sh
Теперь, чтобы просмотреть этот файл потребуются секретный ключ и паскей которым он создан, а значит Google и те кто читает почту без спроса останутся с носом
gpg -d u??7293-2009-11-25.sql.bz2.gpg |bzcat
если моим клиентам теперь потребуется зашифровать свои бекапы, прошу выслать мне ваши публичный ключи