2016年5月26日 星期四

Exsi 快速複製虛擬主機

1.先將要複製的VM關機

2.打開Exsi裡的硬碟區

3.進入要複製的虛擬主機資料夾,例如我要複製的win2003R2這個虛擬機器


3.複製附檔名為 .vmx 和 .vmdk 檔案



4.建立新資料夾,假設取名為Win2003R2-1


5.進入該資料夾,並將剛剛複製的檔案複製進去



6.點選.vmx檔案,並加入"新增詳細目錄"

名稱可以自取



7.接下來開啟虛擬主機電源


開啟主控台,會出現以下選項,選擇 I Copied It, 這樣就會產生新的網卡mac


順利開機畫面




2016年3月12日 星期六

Linux : 搜尋與取代字串

例如要將所有PHP程式裡,關鍵字A12345取代為 B12345

find *.php | xargs -i sed -i 's/A12345/B12345/g' {}

例如要將所有/var/www/html/ttucis/的文件,關鍵字web2.ttu.edu.tw取代為 140.19.22.43

find /var/www/html/ttucis/ | xargs -i sed -i 's/web2.ttu.edu.tw/140.129.22.43/g' {}


如果要尋找資料夾中的某一個關鍵字,可以透過grep指令

以下是 要在/var/www/html/底下,尋找MYGGOODNESS 這個關鍵字

grep -inR -A2 MYGGOODNESS /var/www/html/



印出吻合條件的那一行及下兩行。"n" 選項表示印出行號。



2016年3月2日 星期三

變更 MySQL 預設路徑

MySQL 預設路徑是 /var/lib/mysql

假設要設定到/db/database 下

  1. 停止 資料庫  service mysqld stop
  2. mkdir /db/database
  3. chmod 755 /db/database
  4. # chown mysql.mysql /db/database
  5. 修改mysql 設定檔
    vi /etc/my.cnf
    [mysqld]
    #datadir=/var/lib/mysql -->註解掉
    datadir=/db/database
    #socket=/var/lib/mysql/mysql.sock -->註解掉
    socket=/db/database/mysql.sock
  6. 啟動MySQL
    service mysqld restart
  7. 要登入時出現以下錯誤
        
       
設定連結
 ln語法:-s soft link
 ln -s 來源檔案 目的
檔案
 ln -s /db/database/mysql.sock /var/lib/mysql/mysql.sock



快速轉移資料庫方式:
直接複製原始資料庫的資料夾(如果沒有改位置的話,通常可以在/var/lib/mysql/ 中找到,資料夾名對應的是資料庫名稱)到新的資料庫中(如新的資料庫位置 /db/database/),

注意,須將資料夾中的權限開給mysql,並設定700的讀取權限

chown -R mysql.mysql /db/database/

chmod 755 /db/database/




2016年2月29日 星期一

CentOS7 防火牆改用iptables

1. 關閉及停止使用 Firewalld:
    systemctl disabled firewalld    
    systemctl stop firewalld

2. 安裝 iptables
 yum install iptables-services

3. 啟動及設定開機執行 iptables

 systemctl enable iptables
 systemctl start iptables

2016年1月7日 星期四

啟用rsync 進行程式碼備份

備份主機:(等待備份程式碼上傳的主機):

需安裝 rsync 與 xinted
yum install rsync xinetd

編輯 /etc/xinetd.d/rsync
將 disable = yes 改為 disable = no

重啟 xinetd
service xinetd restart

記得開啟防火牆 873 port

編輯設定檔
自行編輯 /etc/rsyncd.conf (如果沒有此檔案可自行產生)

 vi /etc/rsyncd.conf

#log存放位置
log file = /var/log/rsync.log
# 備份資料存放的位置,你也可以設很多不同的標籤識別 存放位置
[web]
path = /var/bkup/wwwbkup/
[web2]
path = /var/bkup/www2bkup/
[web3]
path = /var/bkup/www3bkup/

#允許以下IP 進行備份
hosts allow = 140.129.12.9 140.129.12.188 140.129.50.25
list = true
#執行的user id
uid = bkupuser
#因為目錄資料寫入的權限問題,我已先將bkupuser與root放入同一群組
gid = root
read only = false


本地端:
安裝rsync
yum install rsync

編輯密碼檔案
我放在 /root/rsync.passwd, 裡面紀錄的是備份主機的bkupuser用戶的密碼,
假設bkupuser的密碼是 au4a83x06jo4 

記得該檔案讀寫權限要設為600
chmod 600 /root/rsync.passwd

利用crontab 來 定期執行

crontab -e

#網頁rsync差異備份
35 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/ttucis bkupuser@備份主機IP::web
45 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/apply bkupuser@備份主機IP::web2
55 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/applymgm bkupuser@備份主機IP::web3
58 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/photo bkupuser@備份主機IP::web3
注意!! 
請注意備份路徑「/var/www/html/ttucis」的後面有沒有多一個「/」的結果會差很多,有「/」的話那同步過去的會是整個 /var/www/html/ttucis 的內容 (/var/www/html/ttucis/*),沒有「/」的話會在目標路徑建立一個 html 目錄,目錄下才是 /var/www/html/ttucis 的內容。

相關參數參考:(來源網址:http://www.vixual.net/blog/archives/186)

  • -a--archive: 這最常被使用的參數,相當於同時使用 -rlptgoD,即: *
    • -r: 子目錄遞迴
    • -l: 複製符號連結
    • -p: 複製檔案權限
    • -t: 複製時間屬性
    • -g: 複製群組屬性
    • -o: 複製擁有者屬性
    • -D: 複製裝置屬性
  • -v--verbose: 顯示詳細資訊 *
  • -z--compress: 壓縮傳輸的資料,以減少傳輸量 *
  • -R--relative: 備份後,使用本地端完整的路徑 (不加此參數,則為相對路徑)
  • -H--hard-links: 保留檔案的連結 *
  • -S--sparse: 使有比較有效率的方式處理零散的檔案 *
  • -P: 等同加了 --partial --progress,即: *
    • --partial: 保留傳輸中斷的檔案以進行續傳
    • --progress: 即時顯示檔案傳輸的進度
  • --delete: 本地端如果刪掉檔案,則備份伺服器也同時刪除該檔案,以保持兩邊檔案的一致 *
  • --password-file: 密碼檔的位置 (如不輸入此參數,則程式執行時會詢問你) *