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

20100429

Crontab 環境變數,這算是很重要的基本觀念,所以不能忘~~~

不廢話,如何看到Crontab啟動時所帶的環境變數
要觀察crontab 的話需要透過 crontab來啟動sh
vi /tmp/x.sh
export > /tmp/xx.txt
crontab -e
*/1 * * * * /tmp/xx.txt #每分鐘跑一次
cat /tmp/xx.txt
export HOME='/root'
export LOGNAME='root'
export PATH='/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin'
export PWD='/root'
export SHELL='/bin/sh'
如此一來就看到Crontab了
但也非常的清楚的看到,寫好的sh不會自己套上Bash的環境變數
所以會需要用到的環境變數需要在sh內就定義好
免得發生跑出來的結果不是自己預期的效果
比如說SH中有包含中文字,sh處理完後變成亂碼
像這樣就可以在sh的內容中將LANG="en_US.UTF-8" export
export LANG="en_US.UTF-8"
這樣亂碼的問題就解除了

當然也可以寫在/etc/crontab 裡面
方法1
vi /etc/crontab
LANG="en_US.UTF-8" #加在開頭的地方
方法2
vi /etc/crontab
* 17 * * 1-5 root export LANG="en_US.UTF-8";/tmp/x.sh #加在row也可以
差別是
方法1:所有/etc/crontab內的row都會套用到這個環境變數
方法2:只有該row套用這個環境變數

這算是很重要的基本觀念,所以不能忘~~~

謝謝 Tsung 前輩
參考來源Crontab 基本環境變

20091014

很有用但是常常忘記的指令(我會常常更新的)

幹~~~我真的是超健忘的
以下就是我常用卻又很重要的指令
#1 用mutt login 到localhost的imap
mutt -f imap://user@localhost
#2 用du show /home/* 的使用量不包含子目錄內
# -s, --summarize display only a total for each argument
du -s /home/*
du -s /home/*|sort -nr 這個就比較有威力了吧
du -s /home/*|sort -nr|awk -F\ '{ print $1}' #這個是萃取容量大小的欄位
#3 網路校時
ntpdate tock.stdtime.gov.tw && /sbin/hwclock -w
#4 DNS Query
dig
dig [@server] [FQDN] [type]
dig yahoo.com.tw MX #使用你預設的DNS查詢yahoo.com.tw的MX
dig 168.95.1.1 yahoo.com.tw NS #使用CHT的DNS查詢yahoo.com.tw的NS
#5 去除重複
uniq
cat afile.txt | sort | uniq >> bfile.txt
sort -u 也可以做到uniq
#6 壓縮/解壓縮
壓縮
tar -zcvf filename.tar.gz /path/target
解壓縮
tar -zxvf filename.tar.gz
檢視壓縮內的檔案內容
tar -ztvf filename.tar.gz
#7 數值運算
bash做數值運算
echo "(865999.1/1024000.2)*100"|bc -l
echo "$(echo "scale=3; 8900000/1000000"|bc -l)"
#8 ls 按照時間排序
ls -alr --time-style=long-iso --sort time|less
#9 dig 反解
dig -x x.x.x.x
#10 Query目錄內檔案或目錄絕對路徑
檔案的絕對路徑
find /home/10946/ -type f
目錄的絕對路徑
#11 顯示encodeing Base64的中文字
perl -MMIME::Base64 -MEncode=decode -n -00 -e 's/\n //g;s/(?<=:: )(\S+)/decode("UTF-8",decode_base64($1))/eg;print'
使用方式是加在pipe後面
from perlmonks.org
#12 加總來自非公司內部的信件容量
awk '/: from=</ && !/taiyi/ { print $8}' /var/log/mail.log|awk -F"size=" '/[0-9]/ { sum+=$2} END {print sum/1024/1024}'
#13 LVM
lvcreate -L 9G -n root vgpoollvcreate -l 100%FREE -n swap vgpoollvextend -l +100%FREE /dev/vgpool/root





20090930

Postfix 如何備份所有進出的信件??

在 postfix 的 main.cf 裡加上:
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
sender_bcc_maps = hash:/etc/postfix/sender_bcc

然後編輯 recipient_bcc 跟 sender_bcc
格式很簡單, 如果帳號是 foo 要備份到 bar 就直接打
foo bar
即可, 一行一行加進去就行, 不備份的就不加了,
另外也可以把所有帳號的郵件都備份到 bar 裡面.

記得檔案編完要下 postmap 指令轉一下 table

ps. 好像要較高版本 (2.2?) 的 postfix 才有這個功能,
答案來自EarlyCAT

參考網址酷學院討論串

20090417

Ubuntu reconfig ldap

Ubuntu apt-get install slapd ... ...時
會針對你給他的domain name 設定一個dn=(你的domain name)
若這不是你要的dn的話,這就糗了...到底要去哪裡reconfig啊...
呵...Google真的很厲害
keyword ubuntu reconfig ldap
方法如下
# dpkg-reconfigure slapd
接下來就是...依照他詢問的問題回答答案了
祝你成功~~~

ubuntu disables 'MARK' messages

暗~~~
每次看到syslog裡面都有很多 --MARK--就不爽
google ubuntu disables 'MARK' messages

方法1如下
#vi /etc/syslog.conf

SYSLOGD="-m 0" #加入這一段

#/etc/init.d/sysklogd restart

方法2如下
#vi /etc/defaults/syslogd

SYSLOGD=”-m 0″ #修改這個參數

#/etc/init.d/sysklogd restart

大功告成...結束讓人看到就不爽的 --MARK--
暗~~~林北宋啦!