[MySQL] 상태가 sleep 인것 정리하기

Database
#!/bin/sh NOW=$(date +"%m-%d-%Y") FILE="/root/sleep_processes.$NOW.txt" /var/lib/mysql-5.1.40/bin/mysql -uroot --password='password' -e "select concat('KILL ',id,';') into outfile '/tmp/sleep_processes.txt' from information_schema.processlist where State = 'User sleep'" /var/lib/mysql-5.1.40/bin/mysql -uroot --password='password' -e "source /tmp/sleep_processes.txt;" if [ -s "/tmp/sleep_processes.txt" ]; then cp /tmp/sleep_processes.txt $FILE fi rm -f /tmp/sleep_processes.txt https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=81951&page=2
Read More

도메인 하나 버렸습니다….

일반
도메인 하나 버렸습니다....   가진 도메인인이 그렇게 많지는 않지만 용도에 맞게 구분을 할려다가 오히려 복잡하고 하나도 통일되지 않아서 도메인 1개는 이용기간이 남긴 하지만 그냥 버렸습니다. 그래도 누군가 가져가는것은 싫어서 일단 공사중으로 변경을 해 놓고 있습니다.     DNS를 관리할 수 있으니 이제는 서브도메인으로 이름을 관리하면 될것 같습니다. 도메인 1개로 여러가지 서비스를 통합하고 서로 연동되게 만들고 있어서 1개의 도메인이 편한편이기도 합니다.   아직 공개 하지 못하지만 차곡 차곡 제가 생각하는 기능들이 정리되어서 서로 결합(? 합체) 하면서 이뤄지기 때문에 단독서비스 처럼 움직이기 위해서 합칠 이유가 있을것 같습니다.
Read More

[C#] 화면 캡쳐 하기

CSharp
WinForm 안의 Controler 를 캡쳐하기 string FileName = DateTime.Now.ToString("yyyyMMdd_HHmmss"); Bitmap bitmap = new Bitmap(width, height); this.panel1.DrawToBitmap(bitmap, new Rectangle(0, 0, width, height)); bitmap.Save(FileName + ".png", ImageFormat.Png); 스크린틀 캡쳐하는 기능 string FileName = DateTime.Now.ToString("yyyyMMdd_HHmmss"); Bitmap bitmap = new Bitmap(넓이, this.높이); Graphics g = Graphics.FromImage(bitmap); g.CopyFromScreen( PointToScreen(new Point(시작 X좌표, 시작 Y 좌표)), new Point(0, 0), new Pint(넓이, 높이)); bitmap.Save(FileName + ".png", ImageFormat.Png);
Read More
c# 에러 출력 예외 설정

c# 에러 출력 예외 설정

CSharp
VS -> 디버그 -> 창 -> 예외설정 -> ContextSwitchDeadlock 체크 해제 << 에러내용 >> CLR에서 60초 동안 COM 컨텍스트 0x1a18b8에서 COM 컨텍스트 0x1a1a28(으)로 전환하지 못했습니다.  대상 컨텍스트/아파트를 소유하는 스레드가 펌프 대기를 수행하지 않거나, Windows 메시지를 펌프하지 않고 매우 긴 실행 작업을 처리하고 있는 것 같습니다. 이러한 상황은 대개 성능에 부정적인 영향을 주며 응용 프로그램이 응답하지 않거나 시간이 흐름에 따라 메모리 사용이 증가하는 문제로 이어질 수도 있습니다. 이 문제를 방지하려면 모든 STA(Single Threaded Apartment) 스레드가 펌프 대기 기본 형식(예: CoWaitForMultipleHandles)을 사용하고 긴 실행 작업 동안 지속적으로 메시지를 펌프해야 합니다
Read More

ssh 접속 이력, 로그인 시도, 해킹 시도 확인

Linux
ssh 로그인 시도(해킹 시도) 확인하는 스크립트 입니다. 이 명령어는 로그인을 시도한 IP 목록만 결과 값으로 출력됩니다. ls /var/log/secure | xargs grep -E "[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+" -o | sort | uniq 이 명령어는 어떤 아이디로 언제 어떤 IP로 로그인을 시도한 결과까지 모두 보여줍니다. last -f /var/log/btmp | more
Read More

[PHP] 라인 Notify 기능

PHP
API 토큰 생성 사이트 : https://notify-bot.line.me/my/ 위 사이트에서 토큰을 발행 합니다. 아래의 기능으로 PHP 파일을 작성해서 데몬에 올려도 되고, cron에 작업해도 됩니다. $APIURL = "https://notify-api.line.me/api/notify"; $APIKey = "발행한 Key"; if ($imgUrl === null) { $postData = [ "message" => $msg ]; } else { $postData = [ "message" => $msg, "imageThumbnail" => $imgUrl, "imageFullsize" => $imgUrl ]; } $fields = ''; foreach ($postData as $dataKey => $dataValue) { $fields .= $dataKey . '=' . $dataValue . '&'; } rtrim($fields, '&'); $curlOptions = [ CURLOPT_URL => $this->APIURL, CURLOPT_POST => 1, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_POSTFIELDS => $fields, CURLOPT_HTTPHEADER => [ "authorization: Bearer ". $APIKey, "content-type: application/x-www-form-urlencoded" ], ]; $curl = curl_init(); curl_setopt_array($curl, $curlOptions); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl);
Read More

[PHP] date, 날짜 포맷 설정

PHP
년도와 관련된 포멧  문자  설명  예 Y 4자리 숫자로 표시  1999, 2003 y 2자리 숫자로 표시 99, 03 o ISO-8601에 맞는 포맷으로 표시 (Y랑 같으나, ISO 규격에 맞는 W가 포함한 년을 사용) 1999, 2003 L 윤년 여부 윤년 : 1아닐경우 : 0 월과 관련된 포맷 문자  설명 예  F 달을 영어로 표시  January, December M 3자리의 짧은 영어로 표시 Jan, Dec m 0을 앞에 붙인 2자리 숫자  01, 12 n 월을 숫자로 표시 1, 12 t 해당하는 달의 수를 표시 28, 30, 31 일과 관련된 포맷 문자 설명 예 d 0을 앞에 붙인 2자리 숫자 01 ~ 31 j 일을 숫자로 표시 1 ~ 31  z 1년의 n번째 날  0 ~ 365 S 날짜 뒤에 영어 2글자 suffix 추가 st, nd, rd or th (j와 잘 연동됨) 예: 1st, 2nd, 3rd,…
Read More

Winform 환경설정 세팅 저장 장소

CSharp
Windows Application을 개발 할 때, 현재 상태의 설정값(사용자ID, 비밀번호, 포지션 등등... )을 저장하여 다음번 Load 시 다시 이용하려고 할 경우,   보통 Settings.settings에 키를 설정 하고 Properties.Settings.Default.세팅명 을 프로퍼티로 사용합니다.   Settings.settings에 아무런 설정이 없을 경우엔 app.config에 특별한 내용이 들어가지 않지만, Settings.settings에 세팅을 하나라도 설정하는 경우 app.config에   <configSections>     <sectionGroup name="userSettings" ...> ...   <userSettings>     <......Properties.Settings> ... #biki1983omi @netdoor!   등의 태그가 자동으로 포함됩니다.   로드시 Properties.Settings.Default.세팅명 을 이용하고, 저장시 Properties.Settings.Default.Save(); 메서드를 이용하면 됩니다.   Settings.settings에 설정할 시 '범위'는 '사용자'로 하여야 런타임시 저장할 수 있습니다. 런타임 시 ....exe.config에 값이 저장되는 것이 아니라,  C:\Users\사용자\AppData 하위의 해당 App 폴더에 값이 저장됩니다.   기본적으로 숨겨진 폴더이긴 해도, 비밀번호 등은 암호화 처리를 하는 것이 좋겠지요. ^^   가끔 네임스페이스 충돌로 인해 Full Namespace 즉, 네임스페이스.Properties.Settings.Default.세팅명 로 사용해야 하는 경우도 있으니 참고하세요.  …
Read More
[Synlogy] SMS 알람을 텔레그램으로 받기

[Synlogy] SMS 알람을 텔레그램으로 받기

NAS
텔레그램 시놀로지 > 제이판 > 알림 > sms "SMS 서비스 업체 추가" 버튼을 클릭해서 추가 합니다. 공급자 설명은 자신이 원하는 이름으로 변경을 합니다.이후에 SMS URL에 다음과 같은 값을 입력 합니다. https://api.telegram.org/bot자신의토큰/sendmessage?chat_id=채팅방번호&user=1&pass=2&phone=3&text=Hello World 매개변수를 위 사진과 같이 설정을 합니다. 사용자 이름, 패스워드, 기본전화를 적당히 숫자를 입력 합니다. 그러면은 이제 사용할 수 있습니다.
Read More

[Synology] DownloadStation 완료시 텔레그램으로 알림 전송

NAS
1. 패키지센터에서 Download Station을 종료 2. ssh를 이용하여 쉘로 진입하여, Root권한을 획득한다. #sudo -i 3. Download Station 재부팅 간 설정파일을 초기화하지 않도록 변경하기 위해, 아래 명령어로 스크립트 파일을 수정 #vi /var/packages/DownloadStation/scripts/start-stop-status 4. "rm ${PACKAGE_DIR}/etc/download/settings.json" 이라고 적혀있는 부분을 찾아서, 앞에 "#"을 붙여 주석처리해주고 저장 #rm ${PACKAGE_DIR}/etc/download/settings.json 5. 설정 변경을 위해 아래 명령어로 설정 파일 수정위 4번에서 경로를 찾아서 변경된 경로로 접근을 해도 됩니다.(업데이트에 따라서 경로가 바뀔수도 있습니다.) #vi /var/packages/DownloadStation/etc/download/settings.json 6. script-torrent-done-enabled, script-torrent-done-filename을 찾아서 아래와 같이 변경 "script-torrent-done-enabled": true, "script-torrent-done-filename": "/volume1/@appstore/DownloadStation/bin/downloadComplete.sh", 7. postgresql의 계정정책 관련 설정을 변경 #vi /etc/postgresql/pg_hba.conf 8. 아래와 같이 되어 있는 부분을 변경 #Before) # TYPE DATABASE USER ADDRESS METHOD local all postgres peer map=pg_root local all all peer #After) # TYPE DATABASE USER ADDRESS METHOD local all postgres trust local all all peer 이걸 안하면, OS계정과 postgresql 계정이…
Read More

[BAT] bat 파일 도메인 NSLOOKUP

Windows
[code bat]@echo off@rem KT  168.126.63.1  168.126.63.2 @rem SK브로드밴드  210.94.0.73  221.139.13.130 @rem 두루넷  210.117.65.1  210.117.65.2 @rem 신비로  202.30.143.11  203.30.143.11 @rem 데이콤  164.124.101.2  203.248.240.31 @rem 드림라인  210.181.1.24  210.181.4.25 @rem 파워콤  164.124.107.9  203.248.252.2 set domain=조회할 도메인set list=168.126.63.1, 210.94.0.73, 210.117.65.1, 202.30.143.11, 164.124.101.2, 210.181.1.24, 164.124.107.9for %%i in (%list%) do (    echo # %%i ################################    nslookup %domain% %%i)pause[/code]
Read More