※ 引述《[email protected] ( .:: Be a Man ::.)》之銘言:
> ※ 引述《[email protected] (中正資管93級 摸摸頭)》之銘言:
> > 而這一個月中 該台上線機器 依舊有在進行web服務
> > 那我應該將該台機器的 什麼位置的檔案複製過來這台restore機器上?
> > 使它能跟 上線機器一樣 回到同步的資料?
假設你的 Apache 跟 MySQL 都幾乎用 ports 的預設安裝目錄
1.先停掉 Apache,MySQL
# /usr/local/sbin/apachectl stop ; killall `cat /var/run/httpd`
# mysqladmin -u root -p shutdown
2. 運用 rsync + crontab 做同步
(以下是拿我先前做兩台 wiki 的 rsync 設定文章來用)
■ 安裝 rsync
# cd /usr/ports/net/rsync/ && make install clean
■ 編輯 /usr/local/etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
use chroot = yes
max connections = 4
syslog facility = local5
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[www]
path = /usr/local/www/data/
comment = 這裡是簡單描述這裡是要幹嘛的 (大約多少MB)
hosts allow = 你另外機器的 IP 或 DN
# 如果你的 policy 想讓大家都可以 rsync 那請去掉上面那行
uid = nobody
gid = nobody
read only = no
dont compress
# 如果資料不多, 或 CPU 不夠力,那麼把 dont compress 前面加 # 起來
■ 重跑 inetd
# kill -1 `cat /var/run/inetd.pid`
(以下是在要當備份站的那台)
rsync -rtlzv --delete 母站IP或FQDN::www /你要mirror到那個目錄就寫這
比如:
rsync -rtlzv --delete bbs.ilc.edu.tw::wiki /home/www/mirror/bbs/wiki
這時候就會開始跑了,跑完之後測試 ok 之後,把 上面的 rsync 指令寫到 crontab 裡
通常每天 rsync 一次就夠了。
其他的可以舉一反三,像是 /var/db/mysql 是用 port 安裝 MySQL 的預設目錄
那就學上面的 [www] 項目改為 [mysql] ,然後把相關目錄、uid,gid 改一改就好了
當然相對應的 rsync 指令也要改像是:
rsync -rtlzv --delete 母站IP或FQDN::mysql /你要mirror到那個目錄就寫這
■ 另外有些可能原本 WWW 中有不屬於 DocumentRoot (/usr/local/www/data)
也是比照上面 rsync 辦理,這樣子就可以了。
■ 其實 rsync 還可以搭配 ssh + 本身的 auth 認證做更安全的保密備份
比如: 要讓 try 可以連到母站,就加上像是
auth users = try
secrets file = /usr/local/etc/rsyncd.secrets
接著修改 /usr/local/etc/rsyncd.secrets 裡面加上像是
try:try的密碼
接著 chmod 600 /usr/local/etc/rsyncd.secrets
至於 ssh 運用以及更深奧的奧妙請到 rsync 首頁跟 mailing list 探索吧 @_@
3. 重開 Apache, MySQL
# /usr/local/sbin/apachectl graceful
# /usr/local/bin/mysqld_safe &
有看到下面就代表跑起來了
Starting mysqld daemon with databases from /var/db/mysql
--
靜中見真境,淡中識本然
chinsan <[email protected]>
--
◢◣ - ● -
◢██◣◢◣ ` Origin: 宜蘭資教.山水蘭陽 telnet://yilan.twbbs.org
~~ ﹌ ~﹌ ﹉ From : 59-104-34-238.adsl.dynamic.seed.net.tw