看板 FreeBSD 關於我們 聯絡資訊
※ 引述《[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