看板FreeBSD
标 题[转录]Re: [HOWTO] 用 gmail 备份 MySQL 资料库
发信站小鹿鹿 BBS (Sun Mar 13 02:40:18 2005)
转信站ptt!ctu-reader!news.nctu!abpe.org
※ 本文转录自 [Daily] 看板
作者: DarkKiller (悸动) 看板: Daily
标题: Re: [HOWTO] 用 gmail 备份 MySQL 资料库
时间: Sun Mar 13 02:39:57 2005
* LICENSE
THIS DOCUMENT IS EVIL, SO IT'S PUBLIC DOMAIN, NO RIGHTS REVERSED.
* REQUIRED
先在自己的机器与 mysql server 安装 GnuPG (现在是 1.4.0)。
#
cd /usr/ports/security/gnupg
#
make install clean
* 产生 key 之前...
在自己的机器上产生 key 前,先设定 random device:
#
rndcontrol -s 5
#
rndcontrol -s 11
其中的 5 与 11 是 IRQ number,可以用下面的指令看哪个 IRQ 可以当 random
device:
#
pciconf -l
* 产生自己的 publickey & privatekey
在自己机器上用下面的指令产生 publickey 与 privatekey:
$
gpg --gen-key
应该会有许多问题要答,分别是:
* Your selection?
1 (用 DSA & Elgamal)
* What keysize do you want? (2048)
4096 (最高的 4096 bits)
* Key is valid for? (0)
0 (这把 key 不设 expire)
* Is this correct? (y/N)
y (确定不设 expire)
* Real name:
Gea-Suan Lin (名字)
* Email address:
[email protected] (e-mail)
* Comment: (不用填,enter 过去)
* Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
o (Okay)
* Enter passphrase:
!@#$%^ (设个密码吧)
* Repeat passphrase:
!@#$%^ (同样的密码再打一次)
然後让他跑一阵子 (4096 bits 比较久),这样应该就把 key 生出来了,像:
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub 1024D/31ABE498 2005-03-12
Key fingerprint = 826E E0DF 72ED 4BEB FA85 52E3 9F02 FDC3 31AB E498
uid Gea-Suan Lin <
[email protected]>
sub 4096g/69E68E46 2005-03-12
* 设定 key
将这把 key export 出来:
$
gpg -a --export gslin > /tmp/publickey.gslin
然後把 publickey.gslin 拿到 mysql server 主机上 import 给 root 处理:
#
gpg --import < publickey.gslin
然後设定信赖程度:
#
gpg --edit-key gslin trust
Your decision?
5 (I trust ultimately)
Do you really want to set this key to ultimate trust? (y/N)
y
Command>
save (存进去)
* 设置备份的 script
把下面的内容放到 /usr/local/sbin/backup-db.sh,其中黄色的部分代表
需要改的:
#!/bin/sh
DATE=`/bin/date +%Y%m%d`
/usr/local/bin/mysqldump -A -u root --password=
PASSWORD | gzip -9 | \
uuencode mysql-${DATE}.gz | gpg -a -e -r
gslin | \
mail -s "
evil.NCTU.edu.tw MySQL backup (${DATE})"
[email protected]
* 设定每天备份
在 /etc/crontab 设定每天 03:00 备份:
0 3 * * * root /usr/local/sbin/backup-db.sh > /dev/null 2>&1
--
Resistance is futile.
http://gslin.org/ & <
[email protected]>
--
※ Origin: 邪恶小鹿鹿 <Deer.twbbs.org> ◆ From: deer.math.nctu.edu.tw