qmHandler 실행시 Calling system script to terminate qmail... 부분에서 더이상 진행이 안되는 현상이 있다.
확인 결과 qmail-remote 가 qmail stop 명령어로는 정지 되지 않는다.
killall qmail-remote 후 실행하자.
2012년 9월 21일 금요일
2012년 9월 20일 목요일
전화번호 마스크용 스크립트
1. 전화번호 마스크용 스크립트
function MaskPhon( obj ) {
obj.value = PhonNumStr( obj.value );
}
function PhonNumStr( str ){
var RegNotNum = /[^0-9]/g;
var RegPhonNum = "";
var DataForm = "";
// return blank
if( str == "" || str == null ) return "";
// delete not number
str = str.replace(RegNotNum,'');
if( str.length < 4 ) return str;
if( str.length > 3 && str.length < 7 ) {
DataForm = "$1-$2";
RegPhonNum = /([0-9]{3})([0-9]+)/;
} else if(str.length == 7 ) {
DataForm = "$1-$2";
RegPhonNum = /([0-9]{3})([0-9]{4})/;
} else if(str.length == 9 ) {
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{2})([0-9]{3})([0-9]+)/;
} else if(str.length == 10){
if(str.substring(0,2)=="02"){
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{2})([0-9]{4})([0-9]+)/;
}else{
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{3})([0-9]{3})([0-9]+)/;
}
} else if(str.length > 10){
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{3})([0-9]{4})([0-9]+)/;
}
while( RegPhonNum.test(str) ) {
str = str.replace(RegPhonNum, DataForm);
}
return str;
}
2. 입력박스
전화번호 : <input type='text' maxlength='13' onkeyup ='MaskPhon(this);' onkeydown='MaskPhon(this);' >
function MaskPhon( obj ) {
obj.value = PhonNumStr( obj.value );
}
function PhonNumStr( str ){
var RegNotNum = /[^0-9]/g;
var RegPhonNum = "";
var DataForm = "";
// return blank
if( str == "" || str == null ) return "";
// delete not number
str = str.replace(RegNotNum,'');
if( str.length < 4 ) return str;
if( str.length > 3 && str.length < 7 ) {
DataForm = "$1-$2";
RegPhonNum = /([0-9]{3})([0-9]+)/;
} else if(str.length == 7 ) {
DataForm = "$1-$2";
RegPhonNum = /([0-9]{3})([0-9]{4})/;
} else if(str.length == 9 ) {
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{2})([0-9]{3})([0-9]+)/;
} else if(str.length == 10){
if(str.substring(0,2)=="02"){
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{2})([0-9]{4})([0-9]+)/;
}else{
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{3})([0-9]{3})([0-9]+)/;
}
} else if(str.length > 10){
DataForm = "$1-$2-$3";
RegPhonNum = /([0-9]{3})([0-9]{4})([0-9]+)/;
}
while( RegPhonNum.test(str) ) {
str = str.replace(RegPhonNum, DataForm);
}
return str;
}
2. 입력박스
전화번호 : <input type='text' maxlength='13' onkeyup ='MaskPhon(this);' onkeydown='MaskPhon(this);' >
2012년 9월 18일 화요일
2012년 9월 13일 목요일
Linux - Search and replace over multiple files.
예제.
위의 코드를 아래처럼 변경 하고 싶을 때.
확장자가 php인 파일에서 ../includes/style.css 를 admin.css 로 모든 부분 변경.
Linux - Search and replace over multiple files..
<link rel="stylesheet" type="text/css" href="../includes/style.css">
위의 코드를 아래처럼 변경 하고 싶을 때.
<link rel="stylesheet" type="text/css" href="admin.css">
perl -pi -w -e 's/\.\.\/includes\/style\.css/admin\.css/g;' *.php
확장자가 php인 파일에서 ../includes/style.css 를 admin.css 로 모든 부분 변경.
Linux - Search and replace over multiple files..
2012년 9월 10일 월요일
qmail queue 주기적 정리,삭제 기능.
많은 양의 메일이 큐에 쌓일경우 아래와 같이 설정해주시면
매번 큐를 삭제하지 않고도 주기적으로 큐 정리가 가능해집니다.
#touch /var/qmail/control/queuelifetime ->> 파일 생성
#echo "86400" > /var/qmail/control/queuelifetime -> 큐 대기시간 하루
/etc/init.d/qmail reload --> qmail 재로드
/var/qmail/bin/qmail-showctl | grep life --> 확인
queuelifetime 시간에 따른 재발송 회수
86400은 대략 6회정도.
How often does qmail retry to send email? |
Each message has its own retry schedule. The longer a message remains undeliverable, the less frequently qmail tries to send it. The retry schedule is not configurable. The following table shows the retry schedule for a message that's undeliverable to a remote recipient until it bounces. Local messages use a similar, but more frequent, schedule.
Delivery Attempt | Seconds | D-HH:MM:SS |
1 | 0 | 0-00:00:00 |
2 | 400 | 0-00:06:40 |
3 | 1600 | 0-00:26:40 |
4 | 3600 | 0-01:00:00 |
5 | 6400 | 0-01:46:40 |
6 | 10000 | 0-02:46:40 |
7 | 14400 | 0-04:00:00 |
8 | 19600 | 0-05:26:40 |
9 | 25600 | 0-07:06:40 |
10 | 32400 | 0-09:00:00 |
11 | 40000 | 0-11:06:40 |
12 | 48400 | 0-13:26:40 |
13 | 57600 | 0-16:00:00 |
14 | 67600 | 0-18:46:40 |
15 | 78400 | 0-21:46:40 |
16 | 90000 | 1-01:00:00 |
17 | 102400 | 1-04:26:40 |
18 | 115600 | 1-08:06:40 |
19 | 129600 | 1-12:00:00 |
20 | 144400 | 1-16:06:40 |
21 | 160000 | 1-20:26:40 |
22 | 176400 | 2-01:00:00 |
23 | 193600 | 2-05:46:40 |
24 | 211600 | 2-10:46:40 |
25 | 230400 | 2-16:00:00 |
26 | 250000 | 2-21:26:40 |
27 | 270400 | 3-03:06:40 |
28 | 291600 | 3-09:00:00 |
29 | 313600 | 3-15:06:40 |
30 | 336400 | 3-21:26:40 |
31 | 360000 | 4-04:00:00 |
32 | 384400 | 4-10:46:40 |
33 | 409600 | 4-17:46:40 |
34 | 435600 | 5-01:00:00 |
35 | 462400 | 5-08:26:40 |
36 | 490000 | 5-16:06:40 |
37 | 518400 | 6-00:00:00 |
38 | 547600 | 6-08:06:40 |
39 | 577600 | 6-16:26:40 |
40 | 608400 | 7-01:00:00 |
2012년 9월 8일 토요일
onmouseover 삭제
onmouseover 기능을 해제하려고 unbind,bind,off 기능을 무쟈게 해메이다 알게 됬다.
................
한편, <td onclick=”"> 와 같이 정적으로 onclick이 설정 된것은 unbind()로 해제할수 없는데
이 경우에는 $(‘.td’).removeAttr(“onclick”); 을 사용해서 해제 해야한다.
제길~!!! 내 1시간.....
출처
피드 구독하기:
글 (Atom)