|
  
- UID
- 1
- 帖子
- 4743
- 精华
- 42
- 积分
- 560
- 阅读权限
- 200
- 来自
- 中国PHP联盟
- 在线时间
- 569 小时
- 注册时间
- 2007-12-10
- 最后登录
- 2010-3-11
|
cron立即生效
cron 是一個服務(service)名稱
/etc/crontab 為其主要設定檔
當更改設定檔後,需要重新載入或重新啟動,使其立刻生效
# /etc/init.d/cron rload
或
# /etc/init.d/cron restart
----------------------------------------
直接備份 mysql 資料庫(非用 sql 語法導出)
這是最簡單也最快速的備份法
但缺點是需要先關閉 mysql 服務,再備份
否則備份出來的資料庫,很有可能是錯誤的,需要修復
因為表格仍在開啟中就備份,存回去時可能被程式認為是錯誤的
另也有可能備份那瞬間,網頁正在操作資料庫
比如論壇有人正在發文寫入資料庫或其它的
將那瞬間的狀態備份下來,存回去時當然就有錯誤了
所以備份前必須先關閉 mysql 服務
然而關閉 mysql 服務,網站就會停擺...
頁面上會出現資料庫錯誤,很難看
提供我的作法給你參考:
---------------------------------
1.先建立一個備份專用的網頁目錄,比如 /var/www2。內容只有一個 index.html,畫面是:資料庫備份中,或網站維護中,請瀏覽者稍待1~2分鐘...之類的,常逛網路,這種畫面你應該見過。
2.另外要有 404.php 這個檔,404 網頁找不到功能,需於 http.conf 中開啟。內容很簡單,強制導向到 index.html,也就是網站維護中的頁面。
<?php
// Location 強迫導向,僅能使用「絕對路徑」
header ("Location: http://yourdomain/index.html") ;
exit ;
?>
3.備份前
mv /var/www /var/www3 #將原先目錄更名
mv /var/www2 /var/www #維護中頁面頂上去
這個是瞬間的,不到 0.5 秒
不管瀏覽者正在看什麼頁面,當他按下連結,因為目錄已經改變了,找不到檔案,便會得到 404 訊息。而 404 剛前面已經設定為強制導向到 index.htm 也就是:網站維護中的頁面。
4.接著關閉 mysql 服務,建議先等個 3秒,然後開始備份
/etc/init.d/mysqld stop
slee 3
5.備份完成後,照原來順序,還原回去
先啟動 msyqld,等個3~5秒,因為啟動需要時間
將 www 更名回 ww2,將 www3 更名回 www
不管如何,備份 mysql 是一定要停止服務的,除非你用 sql 語法導出或其它備援機制。
以上作法仍會使網站停擺,但是對外面的訪客來說,他們會看到網站維護中的頁面,並得知過 3分鐘後再來就可以看了,而不是資料庫錯誤的頁面。常逛網路,你應該也看過資料庫錯誤的頁面,會覺得說這個網站很不夠專業,且也不曉得啥時才會恢復。這之間的差別就是在這裡。
建議自動備份時間為當地時間凌晨 4~6 點,根據流量統計,這時段訪客人數最少,影響最小。 |
|