Perl 檢查檔案存取及修改時間

Perl 有很多實用的的檔案運算子, 要檢查檔案的最後存取及修改時間, 可以用 -M 及 -A 實現,在程式內可以便可以找出指定時間沒有被取存或修改的檔案, 以下是簡單的例子檢查檔案是否在 30 日內沒有修改過: 而除了以上兩個外, Perl 還有很多實用的檔案運算子: -e 檔案存在 -z 檔案是空檔案 (大小為 0) -s 檔案不是空檔案 (回值檔案大小) -f 檔案是普通文件 -d 檔案是目錄 -l 檔案是連結 (檔案系統不支援連結會回傳 …

MySQL 資料庫備份及還原

MySQL 的備份可以透過直接複製 MySQL 資料庫目錄(冷備份),或者用 mysqldump 匯出資料庫的完整 SQL 語句實現(熱備份),以下是兩種方法的優/缺點,以及實現方法:冷備份 這種方法最大的好處是簡單,備份只要直接複製資料庫目錄,還原則只要將備份目錄抄回原來位置便可以,而且速度會較快。但缺點是冷備份時必須要關閉 MySQL,如果 MySQL 在執行時進行冷備份,備份檔可能會有不完整及損毀的情況,以下是冷備份步驟:1. 關閉 MySQL:# /etc/rc.d/init.d/mysqld stop2. 把 MySQL 的資料目錄(包括 ibdata1, ib_logfile0, ib_logfile1 等)完整複製到另一個硬碟裡面。3. 開啟 MySQL:# /etc/rc.d/initd/mysql start 這樣就完成了,至於還原的過程同樣簡單,關閉 MySQL 後直接將資料目錄替換原來的目錄,並重啟 …

MySQL 開啟支援 InnoDB

MySQL 在 5.1 版本開始預設沒有支援 InnoDB, 如果用 yum 安裝的話, Redhat 會處理好 InnoDB 支援, 但如果自行編譯安裝的話, 便需要作出一點改動。以前我編譯 MySQL 會用以下參數編譯:這樣會安裝 MySQL 到 /usr/local/mysql51, 並安裝所有額外的 charsets, 如果要在 MySQL 5.1 後支援 InnoDB, 需要加入支援 InnoDB 的參數, 如下:但如果不能重新編譯 …

Apache 2.4 的 VirtualHost 設定

Apache 剛從 2.2 升級到 2.4, 在 Apache 2.4 的 VirtualHost 設定不同以前, 新語法更簡單易用:舊設定方法: <VirtualHost 123.242.230.29>    ServerName testing.testing.com    DocumentRoot /var/www/html </VirtualHost>Apache 2.4 設定方法 <VirtualHost *:80>    ServerName testing.testing.com    DocumentRoot …

Redhat / Centos 開機自動執行 shell script

在 Redhat / Centos 開機後, 如果想自動執行一些 shell script 或指令, 可以直接編輯 /etc/rc.local 檔案.注: RHEL 及 CentOS 7 預設不會啟動 /etc/rc.local, 需要先執行以下指令才可以: # chmod +x /etc/rc.local 以下是 /etc/rc.local 預設內容:要加入自動執行指令或 shell script 十分簡單, 只要直接加上要執行的指令即可, …

Linux 下查看進程開啟的檔案

在 Linux 系統下想查看個別進程開啟的檔案, 可以用以下指令:lsof -p PID其中 PID 是 process id, 這個 process ID 可以用不同方法找出, 最簡單是用 top, 而另一個方法是用 pgrep 或 ps, 例如:pgrep httpd ps aux | grep http這行兩行指令同樣會找出 httpd 的相關 PID, …

PHP 加密在資料庫的密碼

當用戶數量比較多時,用資料庫儲存用戶名稱及密碼是很好的選擇,但如果直接將用戶的密碼儲存在資料庫,即使資料庫要密碼才可以登入也有安全性的問題。例如系統管理員或者 Web Hosting 的員工便可以看到用戶的密碼,所以先將用戶密碼加密是必要的步驟。PHP 內建了 MD5() 單向加密演算法,即只可加密,而不可以反向解密,以下是利用 MD5() 函式的具體方法:這裡是將用戶密碼用 MD5() 加密後加插入資料庫: 檢查用戶名稱及密碼:用以上方法寫出來的登入系統,只用用戶是知道自己的密碼,系統管理員最多只能夠修改密碼,而不能看到源始密碼是什麼。