달력

12

« 2018/12 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
2017.02.28 13:34

오래된 로그파일 정리하기 Tech/Windows2017.02.28 13:34

7z.comp.marasong.bat


윈도에서 로그파일을 압축하거나 삭제해야 하는 경우, 배치 스크립트 예시.

먼저 시스템에 7z 이 설치되어 있어야 하고, 설치경로 (기본값 C:\Program Files\7-Zip) 를 PATH 에 추가한다.

파워쉘이 없는 경우가 있으니 배치로 작성하면 아래와 같다.

윈도 배치는 날짜함수가 없어서 계산해야 한다.


아래에서는 set /a DD=1%DD%-102 이렇게 날짜 계산시 102 를 빼줬는데, 이러면 오늘이 2017-02-28 이니까

2017-02-26 로그를 압축하고 삭제하게 된다. (101 = 1일전, 102 = 2일전, 103 = 3일전, 104 = 4일전...)

echo %workdate% --> 20170226
echo %workdate2% --> 170226
echo %workdate3% --> 2017-02-26


@echo off
setlocal
rem MaraSong's Log file compress and delete script
rem Information sharing is important.

rem compress the yesterday logfile.
rem korean windows = delims=- 한글 윈도인 경우, 아래 for 문에서 델리미터를 - 로 지정해야 함.
rem chinese and english windows = delims=/ 영문, 중문 윈도인 경우, 아래 for 문에서 델리미터를 / 로 지정해야 함.

for /f "tokens=1-3 delims=- " %%A in ('echo %DATE%') do (set YY=%%A&SET MM=%%B&SET DD=%%C)

rem 101=1day ago, 102=2days ago, 103=3days ago...
set /a DD=1%DD%-102
set /a MM=1%MM%-100

rem echo %DD%, %MM%

if  %DD% GTR 0 goto end

set /a MM=%MM%-1

if %MM% GTR 0 goto leap

set /a DD=31
set /a MM=12
set /a YY=%YY%-1

REM echo %YY%, %MM%, %DD% -> 2016, 12, 31 goto end

:leap
set /a TT=%YY%/4
set /a TT=%TT%*4
rem echo %MM%, %DD%, %TT%
if %YY% equ %TT% goto mon%MM%
if %MM% equ 2 goto mon21
goto end

:mon1
:mon3
:mon5
:mon7
:mon8
:mon10
:mon12
set /a DD=31
goto end

:mon2
set /a DD=29
goto end

:mon21
set /a DD=28
goto end

:mon4
:mon6
:mon9
:mon11
set /a DD=30
goto end

:end
set /a DD=%DD% + 100
set DD=%DD:~1,2%
set /a MM=%MM% + 100
set MM=%MM:~1,2%
SET AA=0
SET BB=0
SET CC=0
SET FF=0

if "%*" == "" goto work_yesterday
rem echo %1
set workdate=%1
goto comp_7z

:work_yesterday
rem echo %YY%%MM%%DD%
set workdate=%YY%%MM%%DD%
goto comp_7z

:comp_7z
rem echo %workdate%
set workdate2=%workdate:~2,6%
set workdate3=%workdate:~0,4%-%workdate:~4,2%-%workdate:~6,2%
rem check the work date
echo %workdate%
echo %workdate2%
echo %workdate3%
pause

rem ----- log file ----- 로그 파일을 압축하는 경우
7z a -t7z D:\GameBin\LOG\Logfile.%workdate%.7z D:\GameBin\LOG\*LOG.%workdate2%_*.txt
del D:\GameBin\_LOG\*.%workdate2%_*.txt

rem ----- log dir ----- 로그 디렉토리를 압축하는 경우
7z a -t7z D:\GameBin\LOG\Logdir.%workdate%.7z D:\GameBin\LOG\LOG_%workdate3%
rmdir /Q /S D:\GameBin\LOG\LOG_%workdate3%


이것만 있으면 다양하게 응용이 가능하고, 이제 이 파일을 작업 스케줄러나 예약된 작업에 걸면 된다.

실제 사용할때에는 echo 나 pause 를 지워야 한다. 주석은 rem 을 맨앞에 적으면 된다.


Posted by 멋지다마라송
2017.02.28 13:03

Nagios - WeChat 연동 Tech/Linux2017.02.28 13:03

나기오스 - 위챗 연동.


Nagios 整合微信订阅号报警

环境:rhel6.5 selinux 和 iptables 关闭。要求能上外网的(虚拟机亲测可用)
以下是nagios服务与微信订阅号的整合过程,最终实现当服务或主机出现故障,自动调用微信报警。
重点讲述如何配置微信公众平台私有接口,至于nagios服务的配置请大家参照nagios官方文档进行,此处不再赘述。(www.nagios.org

1. 下载微信公众平台私有接口
# yum install -y git
# git clone https://github.com/lealife/WeiXin-Private-API

2. 修改微信公众平台私有接口代码,以配合nagios报警

# cp -r WeiXin-Private-API /usr/local/nagios/libexec/weixin
# chown -R nagios.nagios /usr/local/nagios/libexec/weixin
# cd /usr/local/nagios/libexec/weixin

修改config.php文件:

$G_CONFIG["weiXin"] = array(

        'account' => '微信公众平台登录帐号',#填写你注册的微信订阅号的帐号和密码

        'password' => '微信公众平台登录密码',

修改test.php文件,只保留如下几行即可:

<?php
require "config.php";
require "include/WeiXin.php";

$weiXin = new WeiXin($G_CONFIG['weiXin']);

$testFakeId = "$argv[1]";#微信好友ID号,这里通过nagios传入

$msg = `cat /usr/local/nagios/var/nagios.msg`;#要发送的报警信息,由nagios传入

print_r($weiXin->send($testFakeId, "$msg"));#给微信好友发送信息

3. 整合nagios和微信公共平台私有接口

1) 增加微信报警选项: templates.cfg

修改 /usr/local/nagios/etc/objects/templates.cfg

在 define contact{...} 部分,将以下两行:
host_notification_commands notify-host-by-email
service_notification_commands notify-service-by-email

改为:

host_notification_commands notify-host-by-email,notify-host-by-weixin
service_notification_commands notify-service-by-email,notify-service-by-weixin


2) 增加调用命令: commands.cfg

修改 /usr/local/nagios/etc/objects/commands.cfg

在该文件的最后增加以下部分:

##### notify-host-by-weixin command definition
define command{
command_name notify-host-by-weixin
command_line
/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" > /usr/local/nagios/var/nagios.msg && /usr/bin/php /usr/local/nagios/libexec/weixin/test.php $CONTACTADDRESS1$  &>/dev/null
}

##### notify-service-by-weixin command definition
define command{
command_name notify-service-by-weixin
command_line
/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" > /usr/local/nagios/var/nagios.msg && /usr/bin/php /usr/local/nagios/libexec/weixin/test.php $CONTACTADDRESS1$  &> /dev/null

3) 修改联系人选项: contact.cfg

修改 /usr/local/nagios/etc/objects/contact.cfg
在 define contact{...} 部分增加如下一行

address     11206***#微信好友ID,登录微信公众平台网页版,在用户管理中点击你要发微信的好友,此时在地址上显示的fakeid就是微信好友的ID。

4) 重载nagios配置

# service nagios reload


'Tech > Linux' 카테고리의 다른 글

nmap 옵션  (0) 2017.08.24
Dshield, Grafana - DDos Defender  (0) 2017.03.17
centos nagios 설치  (0) 2017.03.14
bash 배시 자주 사용하는 함수 - 날짜함수, 변수 입력받기 등  (0) 2017.03.08
Nagios - WeChat 연동  (0) 2017.02.28
리눅스 구버전 php 다운로드  (0) 2017.02.20
Posted by 멋지다마라송

The backup of full-text catalog 'DB_NAME' is not permitted because it is not online.

Check errorlog file for the reason that full-text catalog became offline and bring it online.

or BACKUP can be performed by using the FILEGROUP or FILE clauses to restrict the selecrion to include only online data.

디비 백업시 이런 에러가 생기는 경우가 있다.

풀텍스트 인덱스 생성후 삭제한 디비가 있으면 그럴 수 있다.


그럴때에는

1. 서비스 SQL Server FullText Search 중지.

2. C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData 디렉토리명 이름 변경. (즉, 백업 후 삭제함)

3. 서비스 SQL Server FullText Search 시작.

4. 이제 백업이 가능.



Posted by 멋지다마라송
2017.02.23 01:26

아틀라시안, 트렐로 인수 Tech/IT 뉴스2017.02.23 01:26

아틀라시안 - http://ko.atlassian.com/

아틀라시안이라는 회사에서 제공하는 주요 서비스는 아래와 같다.

이슈관리툴 '지라(Jira)' - 추천 : https://www.atlassian.com/software/jira

팀 정보공유를 위한 위키솔루션 '컨플루언스(Confluence)'

코드공유시스템 '빗버킷(Bitbucket)' - 추천 : 비공개 Git 무료 (협업시 조건있음) : https://bitbucket.org/

코드검색툴 '피시아이(Fisheye)'

빌드 자동화툴 '뱀부(Bamboo)' : https://www.atlassian.com/software/bamboo

코드리뷰툴 '크루시블(Crucible)'

디렉토리서비스 '크라우드(Crowd)'

협업, 화상회의툴 '힙챗(Hipchat)' : 분석해볼만함 : https://www.atlassian.com/software/hipchat


트렐로 - https://trello.com/

트렐로는 포스트잇 같은 카드메모를 공유하기에 좋은 툴로, 기본적으로는 무료로 제공된다.

단순하고 직관적이며, 특정 유저와 공유가 가능하기 때문에 많이 사용하고 있다.

'스택오버플로우'를 만든 유명 개발자 조엘 스폴스키.가 2011년에 설립했다.

현재 약 1900만명 사용중.


아틀라시안 - 작년 매출 4억5천만달러, 트렐로 인수금액 4억2천만달러;;;



원문보기: 

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20170111171049&type=det&re=#csidx68c481d37f834ffa0aead1f5c3389a3 

Posted by 멋지다마라송

윈도에서 가끔 네트워크가 비정상 동작을 하는 경우가 있다.

딱히 에러는 보이지 않는데, 어떤 연결은 되다 말다를 반복하고, 어떤 연결을 안되는 경우가 있다.

그럴때 아래와 같이 수정하면 된다. (아무래도 윈도가 비정상인 경우로 보임)


netsh winsock reset
sfc /scannow

Posted by 멋지다마라송


티스토리 툴바