FreeBSD
tar 壓縮/解壓縮指令
參考資料:http://www.vixual.net/blog/archives/127
常用參數
- -c 打包一個 tar 檔案
- -x 解開一個 tar 檔案
- -t 檢視 tar 檔案的內容
- -z 使用 gzip 壓縮
- -v 顯示建立 tar 檔案的過程
- -P 使用絕對路徑
- -f 指定 tar 檔案的檔案名稱 (此參數的後面必須接目標檔名)
常用語法
- 建立壓縮檔
tar -czvf 檔案名稱.tgz 來源檔案
將 來源檔案 壓縮後,打包成一個名稱為 檔案名稱.tgz 的壓縮檔,來源檔案 可以是檔案或目錄。
來源檔案 也可以有很多個,以空白字元分隔:tar -czvf 檔案名稱.tgz 來源檔案1 來源檔案2 ... 來源檔案n
- 檢視壓縮檔的內容
tar -tzvf 檔案名稱.tgz
- 解開壓縮檔的檔案到目前的目錄
tar -xzvf 檔案名稱.tgz
- 複製目錄
tar -cvf - 來源目錄 | tar -xvf -
MariaDB安裝教學
參考資料
1.http://tw.myblog.yahoo.com/jw!kg_rIFWTHgO4kRtDoy15QxVeWQ–/article?mid=32&next=30&l=f&fid=6
2.https://downloads.mariadb.org
3.http://www.oschina.net/translate/mariadb-vs-mysql-a-comparison
今天無意間在網路上 看到一篇文章說MariaDB 運作效率筆MYSQL 好,所以我就找了一下資料,詳細的比較說明可以看參考資料第三個連結。
MYSQL 有什麼缺點? 阿….目前最大的風險應該再於 MYSQL 目前被甲骨文收購,甲骨文本來就有在做資料庫方面的業務,MYSQL 什麼時候從開原變成閉原開始收費沒人知道,anyway 我就嘗試安裝了一下,反正沒差,當然我的網站流量也沒高到哪去,單純換好玩的
經過測試……基本上….完全相容於MYSQL,不需要做另外設定,指令完全相同,我看過他的安裝過程…..他根本就是置換了MYSQL 的運作核心,如果你不仔細看板號,你會以為是MYSQL 在運作
安裝過程 (UBUNTU版本,期他的請參考官網)
1.進入下列連結,選擇你的 作業系統、版號、mariabDB的版本
https://downloads.mariadb.org/mariadb/repositories/#mirror=uestc
目前有 5.5版和 10.0版,看介紹5.5版相容於MYSQL5.5版本 10.0版本 是基於5.5版加以改進相容MYSQL5.6版
如果不知道 詳細版本的
可以用 #cat /etc/issue 來查
2.把mariaDB放到apt-get 中,請詳確認版號,因為每個版本都不太一樣,我不小心把12.04和13.04搞混 就把apt-get炸了….
如果弄錯了請#sudo vim /etc/apt/source.list 最底下把內之前曾加的 deb…..刪除
#sudo apt-get install python-software-properties
#sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
#sudo add-apt-repository 'deb http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/5.5/ubuntu precise main'
3.apt-get 更新和安裝…
sudo apt-get update sudo apt-get install mariadb-server
4.設定root密碼,和MYSQL 介面差不多,然後就enter 一路下去 搞定
5. apache 重新啟動
#/etc/ini.d/apache2 restart
經過測試 wordpress 繼續正常運轉 phpMyadmin 也運作正常
FreeBSD忘記密碼解決方法
有些時候,會剛好接手道 資料不全的server,就有機會碰到 帳號密碼消失
最近剛好碰到,找了一下方法 記錄下來
資料來源:http://www.hkcode.com/linux-bsd-notes/399
1. 重新開啟 FreeBSD 主機。
2. 在 "Welcome to FreeBSD!" 開啟選單中按 "4" 選擇 "Boot FreeBSD in single user mode"。
3. 然後會看到 "When prompted Enter full pathname of shell or RETURN for /bin/sh:",直接按 Enter。
4. 這時便會直接進入 single user mode,輸入以下指令重新掛載根目錄 "/" 為可讀寫:
# mount -u /
# mount -a
5. 用 passwd 重新設定 root 密碼:
# passwd
6. 最後重新啟動即可:
# reboot
如果mount 出現問題
請先執行fsck -y
調整wordpress 上傳檔案大小限制
網站備份 shell script 篇 FTP 版本
最近因為工作關係,同時要撰寫一個自動備份的shell script 透過crontab 的排成 定期替網站備份
然而我在今天發現一個令人恐怖的事情,就是我忽略的ftp 的傳輸方式有兩種(一個已經執行半年的腳本….他出錯了…)
一種是專門傳送純文字檔的ASCII 模式和 其他用的binary模式。
這兩種方式的最大差别在於ASCII 是一次一個byte 再傳送,接收端接收到後再重新組合,你可以想像成對方也開個空白檔案,在一個字一個字抄過去,那這有什麼問題呢?就是 再換行符號這種地方,會因為不同OS 的設定不同的情況下,做不同的轉換,這就有可能造成檔案變質的問題,而對於壓縮檔來說…..就真的很慘….。
那用 binary傳送文字檔呢?….定多就是換行的地方掛掉而已XD
以下是 經過修正後的腳本
也請大家保留 授權聲明
#!/bin/sh
# Copyright (c) 2012 Chong-Po Liao ([email protected])
#
# This file is free software: you may copy, redistribute and/or modify it
# under the terms of the GNU General Public License version 3 as published
# by the Free Software Foundation.
#
# This file is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo 'back up start....'
t=$(date +%Y%m%d)
mysqldump -u帳號 -p密碼 資料庫名稱 > 網站位置/DB.sql
tar zcfp 壓縮檔的位置/webBackUp_$t.tar.gz 網站位置
cd 壓縮檔存放的資料夾位置
ftp -in FTPIP << !
user 帳號 密碼
binary
cd 要放的位置
put webBackUp_$t.tar.gz
quit
!
echo 'done..'
Linux 工作排程設定 crontab
vim 的取代置換功能「s」
( vi 也適用 應該吧…)
文章來源 http://chunchaichang.blogspot.com/2010/08/vim-s.html
在 前面我們所談的那些可以說是比較基本的東西,但是對於一份文件來說,光有前面所介紹的游標移動、刪除等等功能是不足夠的。面對一份文件我們通常會因為某些 緣故而使得我們必須去修改當中固定出現的字串樣式(pattern)成我們想要的樣子。最常遇到的就像中文文件的標點符號問題,或是 un*ix 和 DOS 文件格式之間轉換常會有個 ^M 結尾會讓人覺得很討厭,又或是我們想要把一份 HTML 格式的文件去除掉它的 HTML tag。
對於這些事情來說,拿中文標點符號置換這個很多編輯器都做得到,簡單地說如果想更動的 pattern 是一個固定的字串,那對於一般編輯器來說都不會太困難,但是對於具有固定格式,但字串內容卻不一定的該怎麼辦?就像要去掉 HTML 格式中的所有 HTML tag?這就是 vim 開始大顯身手的地方了。
今天我們不談別的其他指令,就光談在 vim 中的「 :s 」指令。小寫 :s 表示置換(substitute)的意思,不過通常你用 vim 下 :h :s 指令的時候會看到這樣的畫面:
檔案備分的好物~~lftp的 mirror功能
最近因為案子關係,在研究如何讓網站伺服器的資料和另一台備援機同步化
達到 在網站備攻擊癱瘓的時候可以馬上重啟
首先 我這部份的同步化,並沒有達到 零時差同步,指要求每週一次就可以了
這次 我使用的是lftp 這是FTP的 客戶端 軟體 我們要使用的是他的 mirror 指令
以下教學參考自
http://superstanwu.blog.ithome.com.tw/post/775/29721
http://www.thelinuxblog.com/linux-man-pages/1/lftp
1. 安裝lftp
Debain、UBuntu:#sudo apt-get install lftp
Fedora、CentOS:#yum install lftp
2. 確認語系
#locale
3.用vim 或是其他文字編輯器 開啟backup.lftp
open [主機位置]
user [帳號] [密碼]
cd /Hosts/stanserv.com/i (在 FTP上 面的路徑)
mirror -R –only-newer –only-missing –parallel=2 [要備份的本地端目錄]
(想要多個資料夾 就在這邊增加)
exit
4. 執行
#lftp -f backup.lftp
5.完成 之後你可以用crontab -e 設定排程
參數說明 (不負責翻譯,有任何問題,請參考上面第二個參考網址)
參數 | 更詳細的參數 | 說明 |
-c | –continue | 續傳 |
-e | –delete | 遠端沒有的就刪除 |
–delete-first | 在傳輸新的前,先把舊的刪除 | |
-s | –allow-suid | 根據遠端設定suid |
–allow-chown | 設定擋案的所有者和群組 | |
–ignore-time | 比對時忽略時間 | |
–ignore-size | 比對時忽略大小 | |
–only-missing | 沒有的檔案就下載 | |
-n | –only-newer | 下載較新的 |
-r | –no-recursion | 忽略子目錄 |
–no-symlinks | 不創造symbolic links | |
-p | –no-perms | 不設定權限 |
–no-umask | 不使用 umask | |
-R | –revers | 反轉 ,就是指 本地和遠端的身分反轉,下載變上傳,備分到遠端 |
-L | –defference | 下載 symbolic links |
-N | –newer-then=[SPEC] | 下載比指定時間新的檔案 |
–order-then=[SPEC] | 下載比指定時間舊的檔案 | |
–size-range=[RANGE] | 下載在指定檔案大小範圍內的檔案 | |
-P | –parrel=[N] | N條線程 |
–use-pget[-n=N] | 用pget來傳輸每個檔案 | |
–loop | 重複 直到找到改變 |
後面看不懂 就不翻譯了
Ubuntu的壓縮指令測試與教學
本篇文章參考資料
http://linux.vbird.org/linux_basic/0240tarcompress.php\
http://blog.bs2.to/post/EdwardLee/4997
壓縮指令的部分 餐搞第一個鳥歌教學,但是我以理解過後較白化的說明方式,想要看詳細的自己點進去吧
最近剛好接了幾個跟備份有關的cass
所以就開始研究,一些linux 相關的壓縮指令,和其中的差別
FreeBSD 軟體安裝系統 ports
本篇 引用自
http://www.freebsd.org/doc/zh_TW/books/handbook/ports-using.html
http://cloverhsc.blogspot.com/2008/10/etcmakeconf.html
因為我所管理的sever中,有幾台是 FreeBSD,所以 這一篇 最主要是 記錄自己所學所寫下來的紀錄,不保證完全正確
前言:
ports 是FreeBSD 所用的 軟體安裝方式,根據我所理解是,ports 這套軟體 會把 所有軟體的安裝程式先全部下載到系統當中
但這只是安裝流程和 所需要的檔案,安裝時系統會根據安裝程式中的指示,去網路上下載所有必要的檔案解壓後 再進行安裝
不過這種安裝模式有個缺點,就是當軟體安裝失敗的時候,使用者必須自己去看 error log 去判斷問題
另外 所需檔案 的下載位置是在/etc/make.conf中 設去哪個伺服器下載,在linux系列中都有類似的方式,有許多人貢獻server架設鏡像站,
這部分台灣有多台server 分散在各大學當中(我們這台server 也有提供類似的服務),回到主體,現在進入真正的教學吧。