2011년 11월 15일 화요일

구글 캘린더를 통해 무료 sms 발송

<?
/*구글 캘린더를 통해 sms 발송*/

require_once 'Google/Calendar.php';

$ID='xxxxx@gmail.com';
$PW='xxx';

$startTime=date("Y-m-d\TH:i:s+09:00", time());
$endTime=date("Y-m-d\TH:i:s+09:00", time()+180);

$title='타이틀';
$content='설명';
$where='장소';

$service = new Google_Calendar;
if (!$service->requestClientLogin($ID,$PW)) {
exit("ClientLogin has failed\n".$service->getResponseBody());
}

$entry = <<<GDATA
<entry
xmlns="http://www.w3.org/2005/Atom"
xmlns:gd="http://schemas.google.com/g/2005">
<category
scheme="http://schemas.google.com/g/2005#kind"
term="http://schemas.google.com/g/2005#event">
</category>
<title type="text">$title</title>
<content type="text">$content</content>
<gd:where valueString="$where">
</gd:where>
<gd:when
startTime="$startTime"
endTime="$endTime">
<gd:reminder minutes='0' method='sms' />
</gd:when>
</entry>
GDATA;

if (!$service->insert($entry, "http://www.google.com/calendar/feeds/xxxxxxxxxxxxx@group.calendar.google.com/private/full")) {
exit("Inserting an entry has failed\n".$service->getResponseBody());
}

?>

이 파일이 필요함.
추가기능 밖에 없음.

xxxxxxxxxxxxx@group.calendar.google.com << 이부분은 캘린더ID
기본 캘린더를 쓰려면 default

참고로 캘린더ID는 여깄음.

사용자 삽입 이미지

출처:http://codepasta.net/50
http://www.rcdtokyo.com/etc/gdataapis/

sendmail 유용한 명령어

큐 확인.
mailq


강제 큐 송출
sendmail -oQ/var/spool/mqueue -oT1d -q -v


---------------------------------------------------------------------------
멀티큐는 기본.
mkdir /var/spool/mqueue/q{1,2,3,4,5,6,7,8,9}


/etc/mail/sendmail.cf에서 아래처럼 변경.
# queue directory
#O QueueDirectory=/var/spool/mqueue
O QueueDirectory=/var/spool/mqueue/q*

명령어 사용.
perl -pi -e 's/O\ QueueDirectory=\/var\/spool\/mqueue/O\ QueueDirectory=\/var\/spool\/mqueue\/q\*/g' /etc/mail/sendmail.cf

재시작.
service sendmail restart

알테온 3804 [로드밸런싱 설정시 느려지는 접속이 잘 안되는 현상.]

알테온 3804를 이용한 로드밸런싱을 구축하였다.

예전 config설정을 사용하는 거라 크게 문제는 없을 거라 생각하였다.

설정을 다 마치고 테스트를 하는 데, 웹페이지가 뜨는 곳이 있고, 안뜨는 곳이 있는 현상이 발생하였다.

원인은 새로 추가하는 서버들에대해서는 L4스위치 바로 밑에 L2스위치를 놓고 연결하여 문제가 되지 않았지만, 기존에 사용하였던 장비들은 L4밑에 있지 않았는데, health check에서는 살아있는 걸로

나와 그냥 셋팅 하였던게 문제였다.

해당 서버들을 disable 시켜 놓고 테스트 하니, 정상적으로 접속 되는 것 확인 했다.

해당 서버들의 물리적인 랜선을 L4 밑 L2 스위치에 넣고 enable 하니 정상적으로 동작 했다.

워드, 엑셀, 파워포인트 , xml 형식으로 출력 , php 헤더설정

header("Content-Type: text/plain;charset=euc-kr");

<meta http-equiv=Content-Type content="text/html; charset=ks_c_5601-1987">


header( "Content-Disposition: attachment; filename=search_result.xls" );


//한글 출력


 


엑셀 <? header("Content-Type: application/vnd.ms-excel"); ?>

워드 <? header("Content-Type: application/msword"); ?>

파워포인트 <? header("Content-Type: application/vnd.ms-powerpoint"); ?>

ASP에서 엑셀
 <% Response.Buffer = TRUE Response.ContentType = "application/vnd.ms-excel" %>





해더 부분의 ContentType을 지정해서 해당되는 형식으로 출력하도록 만드는 것






header("Content-Type: application/vnd.ms-excel");  
header("Content-Disposition: attachment; filename=직원전화.xls");
header("Content-Description: PHP4 Generated Data" );  






xml형식을 출력



header("Content-type: application/xml");
header("Content-Disposition: attachment; filename=파일명);
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");









출처:http://www.mins01.com/20090118/board/board.php?type=read&b_id=tech&sh=title&cat=&page=1&b_idx=29

2011년 10월 26일 수요일

리눅스 콘솔 입력창에서 mysql 쿼리 날리기.(실행결과를 파일로 저장하기)


몇몇 업체에서 테이블의 정보를 보내달라고 할 때가 있다.
이 때 테이블의 내용이 몇 줄 안되면 mysql 들어가서 select 해서 이렇게 해서 나온 화면을 복사해서
넘기곤 했다.

문제는 내용이 몇천줄 이상가면 화면이 넘어가서 복사도 할 수 없다.

알고 보면 엄청 간단한데 검색해도 잘 안나와서 적어본다.

콘솔창에서 쿼리문을 날리고 이걸 파일로 저장하면 참 좋을 텐데, 어떻게 방법없나 검색해 봤지만
검색나오는 게 없더라...

오늘 bash 스크립트 짠다고 여기저기 뒤지다.
드디어 발견했다.

http://www.joinc.co.kr/modules/moniwik ··· isc.html


10.5번을 보면 아래와 같은 소스가 나온다.



#!/bin/bash 
DBS=`mysql -uroot -e"show databases"` 
for b in $DBS ; 
do 

mysql -uroot -e"show tables from $b" 
done




mysql 옵션에 -e 를 주면 된다는 것을 알수 있다.

응용해서 해보면 아래와 같이 할 수 있을 것이다.
/usr/local/mysql/bin/mysql -uroot -p패스워드 -e "use database_1;show tables" > table.txt

프로세스 위치 확인.

 

예전에 특정서버에서의 패킷수치가 이상하리만치 높은 적이 있었다.


해당 서버에 들어가서 확인해 보았더니, udp.pl 이라는 UDP FLOODING 프로그램이 돌고 있는 걸 확인 할 수 있었다.


결국에는 find로 전체 서버를 뒤져서 찾아내어 삭제 했던 기억이 있다.


웹 서핑중 위 방법보다 더 좋은 방법을 찾게 되어 간단히 포스팅 할까 한다.


 출처는 여기


 

프로그램의 위치 확인


1.




# ls -l /proc/PID/exe


# ls -l /proc/1138/exe 
Sample outputs:


lrwxrwxrwx 1 root root 0 2010-10-29 10:20 /proc/1138/exe -> /usr/sbin/mysqld



2.




# ls -l /proc/PID/cwd


# ls -l /proc/3813/cwd
Sample outputs:



lrwxrwxrwx 1 vivek vivek 0 2010-10-29 12:04 /proc/3813/cwd -> /home/vivek


3,





# pwdx PID << 명령어임


# pwdx 3813


Sample outputs:



3813: /home/vivek


유용한 정보였음.~




 

php로 msword 파일 만들기

header("Content-type: application/vnd.ms-word"); 
header("Content-Disposition: attachment;Filename=document_name.doc");
echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>";
echo "<b>My first document</b>";
echo "</body>";
echo "</html>";

출처:http://ko.w3support.net/index.php?db=so&id=124959