工作日誌

MySQL 備份所有資料庫

如果需要使用 bash script 一次打包備份所有 MySQL 資料庫, 當然要先安裝 MySQL client 等套件囉!

  • 備份所有資料庫
  • 把備份的 sql 打包起來成 tar.gz 節省空間

可直接用 mysql 還原 DB (粗體部份是要改的)
Continue reading

PHP Download File

若要讓 user 下載檔案時, 常常會直接把 URL 丟出給 Browser 去直接下載檔案, 此時會有 Apache 直接把 file stream 丟出去.

但如果要記錄 user 下載檔案的情況或下載次數, 那麼就需要用 PHP 的 fopen 來丟檔.

如果不做任何處理時, fopen 會把所有檔案先載入到記憶體後再丟給 client browser, 但這樣會變成記憶體一下子就被佔滿, 要解決這個方法還有可以使用 buffer 的方法, 先把要下載的檔案抓一部份放在 RAM 裡然後再丟出去, 如此就不用一次把檔案全都載完了, 也可以同這個方法來做流量限速的應用.

 Continue reading 

CSS Reset

很多網頁設計師 (尤其是 UI 設計者) 一定會覺得不同 Browser 的畫面常常會覺得不一樣, 明明設定好了結果還是會跳掉.

我們可以以在設計畫面時, 先讓所有的元素 style 都規 0,  如此在設計畫面時, 偏移的機率就會降低了。

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;}
/* remember to define focus styles! */
:focus { outline: 0; }
body { line-height: 1; color: black; background: white;}
ol, ul { list-style: none; }
/* tables still need ‘cellspacing="0″‘ in the markup */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal;}
blockquote:before, blockquote:after, q:before, q:after { content: “"; }
blockquote, q { quotes: “" “"; }

套上上面的 CSS 就可以把所有元素 style 重設 ~

版本: http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/

Apache mod_proxy + mod_proxy_http + mod_proxy_balancer

喔為什麼會寫這個 tips 原因是小弟有一次去上了 twnic 的 LVS 的課程.

學到一招使用 Apache 的 mod_proxy 與它們的成員來做內部的 Reverse Proxy 功能, 以小弟工作的環境來說真的是便宜又大碗的應用, 所以在此就報給大家知道.

Continue reading

jquery ajax handle

<script language="javascript">
$(document).ready(function() {
	$('#ajax_log').ajaxStart(function() {
		$(this).show();
	  $(this).text('處理中 ...');
	});
	$('#ajax_log').ajaxComplete(function() {
	  $(this).hide();
	});
	$('#ajax_log').ajaxError(function(e, xhr, settings, exception) {
		alert('error in: ' + settings.url + ' \\n'+'error:\\n' + exception);
	  $(this).hide();
	});
});
</script>
<div id="ajax_log"></div>

如此, 在整個網頁中的 ajax 行為 ($.post(), $.get(), $.getJSON … 等)都會被 handle 住.

VirtualBox 複製 vdi 檔

在 VMware 裡若要重新做一個一模一樣的 VM 環境, 只要把虛擬檔案複製另一個檔名即可使用, 非常方便.

在 VirtualBox 裡因為每個檔案 (vdi) 有 UUID 的關係, 所以無法直接使用, 此時會有兩個方法:

  1. Continue reading

vsftpd 在 chroot 後也能看到家目錄外的方法

vsftpd 是一個佷好的 FTP Server 端工具. 大部份的實做中我們會把使用者鎖在家目錄中, 以防使用者到處亂逛.

若是在一些特別的情況之下, 比方有某些使用者需要同時存取家目錄外的目錄, 可以使用以下方法:

Home: /home/steven

Other DIR: /var/logs

要讓 steven 能看到 /var/logs 目錄檔

$ cd /home/steven
$ mkdir /home/steven/var_logs
# mount –bind /var/log /home/steven/var_logs

好了, 如此, 當 steven 登入 FTP 後就可以看到 /var/logs 裡的目錄了, 當然必需開啟相關的權限才可以讓 使用者 看檔案

apache 防止盜連

在網站目錄下編輯 .htaccess, 新增下列項目

Continue reading

iptable – 鎖定 IP 範圍

CentOS 5.4, 5.5 測試 OK

允許 192.168.1.100 ~ 192.168.1.110 連入

iptables -A INPUT -m iprange –src-range 192.168.1.100-192.168.1.110 -j ACCEPT

允許 forward 到 192.168.1.100 ~ 192.168.1.110 (NAT 中可應用)

iptables -A FORWARD -m iprange –dst-range 192.168.1.100-192.168.1.110 -j ACCEPT

mod_jk 之 jkUnMount

在建置 Apache + JSP 時, 最常用的 Connector 就是 mod_jk 了.

Ref: http://tomcat.apache.org/connectors-doc/reference/apache.html

Continue reading

十一月 2019
« 五月    
 123
45678910
11121314151617
18192021222324
252627282930  

Google ADs