2014年3月5日 星期三

centos 常用指令

總算快把上次做的備註都寫完了/灑小花....

最後再把有用到的centos指令做一些整理
當然google鳥哥還是最多最完整的^_<...

-------------------------------------------------------
用指令進行SFTP(scp)
因為悲慘的沒有UI又只能跳版, 所以只能用cmd進行檔案對傳...
scp 本機檔案 帳號@其他主機:檔案
ex:
scp hadoop-1.2.1.tar.gz XXX@xxx.xxx.xxx.xxx:/home/XXX/hadoop-1.2.1.tar.gz

當然如果是windows 和centos要對傳~
windows端只要裝filezilla client就好了^_^/

-------------------------------------------------------
yum安裝時若是卡住...
這次發生是在於防火牆卡了一半的通訊的協定~ 前面的列表清單拿取有過~
但是在安裝過程中~ 有些下不下來~ 然後安裝程序就一直卡著~ 也不timeout...麻煩
(後來確認是部分網路限制被檔~ 拜託機房"全開http, https, ftp"就OK了)
解除程序的做法...
先砍pid暫存檔, 再砍程序

###yum lock
cat /var/run/yum.pid
rm -f /var/run/yum.pid 20360

ps aux | grep yum
kill -9 21361

-----------------------------------------------------
尋找process(ps)
ex: 找java程序
ps aux | grep java

這行好像是像windows的程序的應用程式管理員~
就centos UI介面裡的程序(印象中~有點忘了)
ps -ef

----------------------------------------------------
找檔案(find)
find 指定路徑下 -name 名稱 -type 類型
類似windows的檔案搜詢~ 可以限定尋找file或是資料夾
要注意的是~ 找檔案有權限限制(我想至少要read)~
所以要是像偶用非root查根目錄, 就會被"權限不足"的字洗版Orz...
然後一眨眼洗完後...完全看不到~ 被找到的在那~ 囧a...
ex:
find / -name mapred -type d

----------------------------------------------------
防火牆設定...
現在要注意的是~iptables 指得是ipv4
不過新的OS現在都支援ipv6...是iptables6的樣子...
在service裡可以看到兩個~ 要注意囉...
要注意是否有要分開管理~
我習慣是關ipv6, 只用舊的...內網而已~誰管你用6...XD...
另外hadoop對於ipv6的支援也不知道做好了沒Orz...

vim /etc/sysconfig/iptables
service iptables restart

----------------------------------------------------
因為scp還要打密碼有點麻煩...
在server架起來之後~ 另外有一招是~  用wget...
用http拿資料囉~~

當然資料夾內容要壓一下~ 都到http可以access到的地方~
另一台wget收完再解壓縮...

##壓縮和解壓縮 folder
tar -zcvf XXX.tar.gz ooo
wget http://xxx.xxx.xxx.xxx/ooo.tar.gz
tar -xzf ooo.tar.gz ooo

如果單檔太大~ 純壓縮
###only tar 1 file
tar -czvf ooo_all_.tar.gz ooo_all.sql

因為rar居然無法包tar(但是會解喔~是那招QQ)...
只好特別去下載7z來用~囧rz...
不用zip的原因是~ 因為一_一a...centos沒有內建zip...
在server上能少一事是一事阿QQ
###unzip 7zip tar
tar -xv -f frog.08.tar

--------------------------------------------------
刪除整個資料夾含檔案
記得加-R...使用前要看清楚~ 並在身心健全下使用~~
偶永遠都記得以前發生過rm  /...之後大家就開心的聊天了...
(等MIS把備份倒回去...還好那邊有好好的做備份!!!!!)
###delete file without confirm(-f), -R -> all include sub dirs/files
rm -Rf xxxx

------------------------------------------------
看看server有沒有聽port...
通常用在確認服務是死的活的~
或是看有沒有人佔port
netstat -nap | grep 9000

------------------------------------------------
掛crontab
相當於windows的排程~ 差別crontab要用root設定~
另外...該死的...偶後來發現~crontab跑的環境與user登入時不同...
(path, env都不一樣)
造成python的程式怎麼都不會跑...被搞死...
google應該也會得到不少的泣訴~ 不幸的是~ 我的環境可能掛太多外掛lib...改成絕對路徑, 加PATH...偽裝成sh...都無法運作T__T...
(喵的~ 我只是一個小小小的Java工程師...為什麼還在那邊研究怎麼寫shell script....)
所以那一隻後來就只好改成AP定期batch的方式運作~
總之就是...我覺得python想成為主流語言~ 還有很~~~~~大的進步空間...

vim /etc/crontab

另外crontab有時候程序跑一跑也是會自己死掉但沒關掉的XD...
有次查的時候~ 突然想到做一下ps...結果抓到幾隻~ 看一下啟動日期~ 運作多久...
反正kill掉就好了...還有發現cron產出的pid還蠻"連號"的...XD應該不難判別...




沒有留言: