網頁

顯示具有 linux 標籤的文章。 顯示所有文章
顯示具有 linux 標籤的文章。 顯示所有文章

2015年6月1日 星期一

強制刪除目錄下特定名稱的檔案或目錄

今天處理個舊專案,原本是用svn,現在要改用git,要先將每個目錄下原關於svn的目錄都刪除掉,以前都傻傻一個個刪除,想想沒有這麼笨吧,找了下相關資料,只要使用底下的shell script即可搞定

cd 你的目錄
find . -type d -name '.svn' <--先確認檔案
find . -type d -name '.svn' | while read f;do rm -rf "$f"; done <-- 全部強制刪除

這樣就ok了,若要刪除檔案,type後的d就改成f

參考網址:
Linux: remove file extensions for multiple files

2014年7月11日 星期五

CentOS筆記-grep指令

grep指令在查log時非常好用,以前不知道時都寫程式去parse,不過用grep後就不再寫了,它可以和cut或wc等一塊用,不過這邊就只紀錄一下grep簡單用法,免得我老是要查找

grep 'test' xxx.log //找單一檔案中的test那幾行
grep -v 'test' xxx.log //找單一檔案中的沒有test的那幾行
grep --color=auto 'test' xxx.log //找單一檔案,且字用顏色標起來
grep -n --color=auto 'test' xxx.log //找單一檔案,標出行號
grep -n -A3 -B2 --color=auto 'test' xxx.log //找單一檔案,有這個字的前2行後3行
grep -n -A3 -B2 --color=auto 'test' xxx.log.2014-07* //找多個檔案
grep -n -A3 -B2 --color=auto 't[a-z]st' xxx.log.2014-07* //找多個檔案中,t(任意小寫)st的字,使用正規表示式

暫時記到這裡!

參考網址:
鳥哥的 Linux 私房菜-第十一章、認識與學習 BASH -grep
鳥哥的 Linux 私房菜-第十二章、正規表示法與文件格式化處理-grep

2013年7月25日 星期四

CentOS筆記-安裝LAMP

前陣子用阿里雲的系統:CentOS 6.3,建好是一整個空的系統,連Apache、MySQL都沒有,真的空空如也,只能自己加上去,這邊記一下步驟:

安裝Apache http server
yum install httpd
service httpd start


修改/etc/httpd/conf/httpd.conf中<Directory "/var/www/html">下的Options
Options Indexes FollowSymLinks
改成Options -Indexes FollowSymLinks

安裝Mysql Server
yum install mysql-server
service mysqld start
/usr/bin/mysql_secure_installation


若要安裝5.5版,可以看CentOS筆記-CentOS 6.5 安裝MySQL 5.5

最後一個指令可以設定root密碼,將一些用不到的table及權限去除(link: MySQL Server 安裝後的設定

安裝PHP
yum install php php-mysql php-mysqli php-mbstring

重啟
chkconfig httpd on
chkconfig mysqld on


service httpd restart
service mysqld restart

這樣一個基本的LAMP就架起來了

架phpMyAdmin
我習慣用phpMyAdmin,所以再到PhpMyAdmin Home下載最新的tar檔,上傳到/var/www底下解開後,我是都會改目錄名稱為myadmin,用http://{hostname或ip}/myadmin,就可以用了,不過這次卻發生CentOS筆記-PHP Fatal error: Call to undefined function mb_detect_encoding()中提到的問題,就再依文中所提處理即可。

若有要安裝wordpress,是要再注意/etc/httpd/conf/httpd.conf中
LoadModule rewrite_module modules/mod_rewrite.so <-- 這個要有

檔案最後再加上底下幾行(主要是Rewrite那幾行)
AddType application/x-httpd-php .php .phtml

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]


記得再重啟http server

參考網址:
How to Install Linux, Apache, MySQL, PHP (LAMP) stack on CentOS 6
新安裝 CentOS 6.5 筆記

2012年11月1日 星期四

CentOS筆記-修改防火牆

做個記錄

修改防火牆的規則
vim /etc/sysconfig/iptables

重啟防火牆
/sbin/service iptables restart

這樣就可以用載入剛才寫的了

下次再來寫防火牆的規則寫法好了....太多事情要做了 orz

2012年9月19日 星期三

CentOS筆記-查詢目錄所用空間

最近需要看下每個網站的使用空間,突然就傻了,啊在linux中怎用,詢問下才知道超簡單

du -sh {目標folder}
du -h --max-depth=N {目標folder} //N是目標folder下幾層要列出

有夠easy,但~還是做下筆記

2012年8月30日 星期四

Deploy前必備

最近一件事,讓我想起剛創業時在某大電信業的機房Deploy的日子,做到清晨4點所有人都還在辦公室,而幫忙的機房人員在家等待我們做好的好日子。若你跟我一樣是沒有好的系統工程師幫忙,要自己進機房或進入Server去Deploy的苦命工程師,那我分享幾件事吧....(有個預感,我可能又要進機房了....Orz)

進機房Deploy前,有幾件事要注意

  1. 新程式碼記得先壓縮備份好,確認目錄owner及權限是沒有問題的
  2. 程式碼備份在要帶去的usb、Server的ftp或某個目錄(可以http下載或scp可以找到的地方),最差的狀況可能要從測試站的目錄拿取更動的程式碼檔案,而不是預備好的程式碼
  3. 要熟悉Command line操作,別認為機房內的主機有GUI介紹操作
    這部分當然要看你的系統環境,若是Linux系統,就好好練習命令列操作吧
  4. 非系統工程師不用懂太多指令,但基本的tar、 ftp、scp、ssh、wget、chown、 chmod,若程式有version control使用,至少要會直接匯出的指令,例如svn的co或export,git的clone,之前寫了篇CentOS筆記-scp用法,之後再補充其他的好了,重點是想要檔案時,可以用command line的方式就很快取得
  5. 到達現場時,第一件事備份所有舊程式、檔案資料及DB資料,Deploy最重要的永遠是備份、備份、備份、備份、備份~~最好是能備份到另一台Server去或先上傳到測試站上測試過
  6. 除非必要,否則別刪掉原目錄,直接覆蓋通常是最安全的做法(這點純是個人經驗,有些人好像是反過來)

雖然都會確認owner及權限,但常常在測試站上是沒問題,進了Server就開始這邊權限不對,那邊owner怪怪的,不然就是都正確,但你還是不能用,尤其是目錄,所以常常就是還原這個目錄,裡頭的檔案手動一個個換掉,神奇的是,有時還不能用usb上的,得ftp去測試環境拿,有時我在用我的mac時,也多少有這類狀況,我相信windows也可能有

我只能說我不是系統工程師~~我不是系統工程師~~我不是系統工程師~~,我的專業不在此啊~~ 麻煩找專業的來

謎之音:專業的看了看,可能會說這是程式的問題,要問那個工程師,問他是怎麼搞出來的



2012年6月13日 星期三

CentOS筆記-安裝svn


yum install mod_dav_svn subversion

利用上述的指令已安裝好subversion了。


參考網頁
http://wiki.centos.org/HowTos/Subversion

2012年6月10日 星期日

CentOS筆記-start ssh server及root不可登入設定

/etc/init.d/sshd start or /etc/init.d/sshd restart

看是否有start起來
netstat -tlnp | grep ssh

//刪除所有確認的金鑰
rm /etc/ssh/ssh_host*

//列出剛建立確認的金鑰
date; ll /etc/ssh/ssh_host*

//取消root用ssh遠端登入的權限
vim /etc/ssh/sshd_config
PermitRootLogin yes --> no

CentOS筆記-設定linux系統上網

公司放了新的server使用,記錄一下設定上網的流程

1. 設定網卡的ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR=XXXX
IPADDR=192.168.X.X
NETMASK=255.255.255.0
BROADCAST=192.168.X.X
ONBOOT=yes

2. 設定Gateway
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=XXX
GATEWAY=192.168.x.x

3. 設定DNS server
vim /etc/resolv.conf
search
nameserver 8.8.8.8 //google DNS server

4. 啟動網卡
ifup eth0
ifdown eth0 //關閉網卡

2012年5月20日 星期日

更動php上傳檔案的大小

更動php上傳檔案的大小,要更改php.ini底下的兩個參數


post_max_size
upload_max_filesize

再重開http server即可

CentOS筆記-scp用法

工作上常要兩台電腦傳送資料,傳來傳去,但開放的port又不能多,只好多加利用ssh的功能,今天用的就是ssh

用法大致如下:
ssh (本機端的檔案) 使用者@(ip或hostname):(遠端電腦的目錄或另外命名)

利如:
ssh xxx.tar.bz2 devid@192.168.1.1:/home/devid/
ssh xxx.tar.bz2 devid@192.168.1.1:/home/devid/yyy.tar.bz2

參考網址
http://www.soezblog.com/plate/web/papermsg.jsp?UI=markcool&PI=1965

2012年5月19日 星期六

刪除防火牆中的某個規則


記錄一下

想要刪除防火牆中的某個規則,就使用如下的command,例如我想刪除對某個ip的ssh的淮許

1. /sbin/iptables -L -n
2. /sbin/iptables -D INPUT -p tcp -s x.x.x.x --dport 22 -j ACCEPT

然後儲存起來, 
/sbin/iptables-save > /etc/sysconfig/iptables

2012年5月13日 星期日

CentOS筆記-更動某個目錄底下的權限,目錄和檔案不同權限

工作上常要更動某個目錄底下所有目錄及檔案的權限,而且目錄和檔案不同權限,記下這兩個command

find $path -type d -exec chmod 770 {} \;
find $path -type f -exec chmod 660 {} \;



若是要更動使用者及群組為apache可以用


find $path -type d -exec chown apache.apache {} \;
find $path -type f -exec 
chown apache.apache {} \;



PS. $path是你要的目錄,此指令主要是更動此目錄底下的所有目錄及檔案,另外要確定此目錄是你自己的,若不是,請”su -“更換成root或在前面加上sudo

2012年5月11日 星期五

防火牆開放某ip可ssh

記錄一下

/sbin/iptables -A INPUT -p tcp -s x.x.x.x --dport 22 -j ACCEPT
然後儲存起來, 
/sbin/iptables-save > /etc/sysconfig/iptables