[Windows]방화벽 bat, cmd

Tips 2017.08.16 15:41 Posted by 애플자라


@echo off
if errorlevel 1 (
 echo 우클릭 해서 관리자 권한으로 실행해주세요.

netsh advfirewall firewall add rule name="프로그램1" dir=in program="%ProgramFiles% (x86)\Agent\xxx1.exe" action=allow
netsh advfirewall firewall add rule name="프로그램2" dir=in program="%ProgramFiles% (x86)\Agent\xxx2.exe" action=allow
echo 프로그램 허용

netsh advfirewall firewall add rule name="SMB 차단" dir=in action=block protocol=tcp localport=139,445
echo SMB 차단

netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
echo 파일 및 프린터 공유(에코 요청 - ICMPv4-In) ICMP허용


echo 모든 작업이 완료되었습니다.

출처 - http://www.snoopybox.co.kr/1545


shutdown : 윈도우 종료_재시작 하는 명령어

윈도우를 종료하는 방법은 여러가지 있습니다.


1.윈도우시작 버튼을 누르고 컴퓨터끄기종료를 하실수도 있고,


2.Ctrl + Alt + Delete 키로 작업관리자창을 켜고 ,

 상단의 [시스템 종료(U)] - [끄기U]종료하실수도 있고


3.시작- 실행창에 - CMD 입력 확인후 - COMMAND 창이 뜨면

shutdown -s -t (초 단위 시간) : 지정한 몇 초 뒤에 컴퓨터를 종료합니다.

shutdown -p : 컴퓨터를 그냥 바로 꺼버립니다.

shutdown -r -t (초 단위 시간) : 지정한 몇 초 뒤에 컴퓨터를 재부팅합니다.

shutdown -a : shutdown명령어를 취소합니다.

추가 옵션 : -f : 실행 중인 응용 프로그램을 경고 없이 강제로 종료합니다. (해당프로그램은 저장되지 않습니다.)

원격제어를 하는 경우 시스템 종료 혹은 재부팅을 하려면

[시작]-[시스템종료] 는 [로그오프] 기능이 실행이 되기 때문에 저는 위와 같은 방법을 간혹 사용합니다.


시스템을 바로 종료 하시려면
shutdown -s -f -t 0
시스템을 바로 재시작 하시려면
shutdown -r -f -t 0
위처럼 -f 옵션을 붙이면, 강제로 종료하기 때문에 사용하시는 프로그램을 저장하지 않았다면 저장되지 않습니다.
출처 - http://sunjinsu.tistory.com/64

[MYSQL]DB 튜닝(innodb / my.cnf)

Programing 2016.11.14 16:33 Posted by 애플자라

### DB셋팅 / 2016.11.14

# Set the SQL mode to strict


# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.


# Query cache is used to cache SELECT results and later return them
# without actual executing the same query once again. Having the query
# cache enabled may result in significant speed improvements, if your
# have a lot of identical queries and rarely changing tables. See the
# "Qcache_lowmem_prunes" status variable to check if the current value
# is high enough for your load.
# Note: In case your tables change very often or if your queries are
# textually different every time, the query cache may result in a
# slowdown instead of a performance improvement.


# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable "open-files-limit" in
# section [mysqld_safe]


# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.

# How many threads we should keep in a cache for reuse. When a client
# disconnects, the client's threads are put in the cache if there aren't
# more than thread_cache_size threads from before.  This greatly reduces
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)


#*** MyISAM Specific options

# The maximum size of the temporary file MySQL is allowed to use while
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
# If the file-size would be bigger than this, the index will be created
# through the key cache (which is slower).


# If the temporary file used for fast index creation would be bigger
# than using the key cache by the amount specified here, then prefer the
# key cache method.  This is mainly used to force long character keys in
# large tables to use the slower key cache method to create the index.


# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you're not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.


# Size of the buffer used for doing full table scans of MyISAM tables.
# Allocated per thread, if a full scan is needed.


# This buffer is allocated when MySQL needs to rebuild the index in
# REPAIR, OPTIMZE, ALTER table statements as well as in LOAD DATA INFILE
# into an empty table. It is allocated per thread so be careful with
# large settings.


# Additional memory pool that is used by InnoDB to store metadata
# information.  If InnoDB requires more memory for this purpose it will
# start to allocate it from the OS.  As this is fast enough on most
# recent operating systems, you normally do not need to change this
# value. SHOW INNODB STATUS will display the current amount used.


# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.


# The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).


# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system.  Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.


# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.


# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.

innodb_lock_wait_timeout = 1200


[Windows]Server2012 원격 데스크톱 세션 시간 제한

Tips 2016.11.04 16:06 Posted by 애플자라

실행 > gpedit.msc > 로컬 컴퓨터 정책 > 컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 터미널 서비스 > 원격 데스크톱 세션 호스트 > 세션 시간 제한 > 구성되지 않음/사용안함



[Windows]작업 스케줄러 매시간 5분

Tips 2016.11.02 14:13 Posted by 애플자라


환경 : Windows Server 2012


<0x00000522> NTFS 클라이언트가 필요한 권한을 가지고 있지 않습니다




* 해결방법

1. 윈도우 시작메뉴에서 secpol.msc 실행
2. 보안 설정-로컬 정책-보안 옵션-"사용자... : 관리 승인 모드에서..." 탭 선택
3. 관리 승인 모드에서 모든 관리자 실행 사용(E)→사용 안 함(S) 으로 변경
4. 설정 변경 후에 시스템 재시작


[Windows]bat 날짜폴더생성 YYYYMM

Tips 2016.11.02 09:13 Posted by 애플자라

@echo off



SET TODAY=%date:~-10%


::%date%에서 모든 하이픈(-)을 지워 버림 / 폴더생성 YYYYMMDD
::set date1=%date:-=%


::%date% / 폴더생성 YYYY-MM-DD
::set date2=%date%





:: 요일 삭제한, 날짜 문자열로 디렉토리 만들기
cd D:\batch_schedule_log




:: 1년에 한번 YYYYMM폴더문자열로 디렉토리 만들기
cd E:\SysLog\CenterVPN
md %YYYY%01;%YYYY%02;%YYYY%03;%YYYY%04;%YYYY%05;%YYYY%06;%YYYY%07;%YYYY%08;%YYYY%09;%YYYY%10;%YYYY%11;%YYYY%12




출처 - http://blog.daum.net/graphixxx/13631800

☆ robocopy란 ?

xcopy의 개선판으로 다양한 방법으로 로컬 또는 네트워크 파일카피를 할수 있는 윈도우 비스타부터 도입된 

윈도우 자체 프로그램입니다.

패치서버 구현이나  디스크이미지백업말고 파일자체 백업시에 유용합니다.

☆ robocopy장점

드라이브 전체카피 , 특정 폴더 카피 , 특정 파일 카피가 가능하며 심지어 파일에 대한 정보 및 권한도

카피가 가능합니다 (생성날짜,특성,소유자 등등) 그리고 한번 robocopy로 카피하고 추가 카피시에는

추가된 파일만 카피하기때문에 (중복카피를 하지않음) 전체파일백업시에 빠른백업이 가능하다는 점입니다.

또한 Log파일로 카피진행내역을 저장할수 있습니다.


SET TODAY=%date:~-10%


robocopy /COPYALL /E D:\Data\ "\\***.***.***.***\receive" /LOG+:D:\batch_schedule_log\%TODAY:~0,4%%TODAY:~5,2%\Backup_%date%.log

☆ robocopy 사용법

사용법 :: ROBOCOPY 원본 대상 [파일 [파일]...] [옵션]

원본 :: 원본 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)

대상 :: 대상 디렉터리(드라이브:\경로 또는 \\서버\공유\경로)

파일 :: 복사할 파일입니다. 이름/와일드카드: 기본값은 "*.*"입니다.

* xp 사용자는 Windows Server 2003 Resource Kit Tools 설치 필요


☆ robocopy 사용 예시

기본적으로 robocopy는 중복카피를 허용을안함 없는파일이나 업데이트된 파일만 카피하므로

불필요한 작업을 안해 시간절약이 가능

- 기본 미러링 카피(/MIR)

robocopy  /mir  c:\coolenjoy\  d:\cooln

(/E옵션과 /PURGE옵션이 포함기능이어서 하위 디렉토리까지 카피하며 원본에는 없는 파일이나 디렉토리를

자동 삭제해줍니다. )

- 네트워크가 연결된 컴퓨터에서 파일카피하기

robocopy  \\\D:\coolenjoy\  d:\cooln

- 특정 폴더 제외하고 카피하기(/XD DIRS)

robocopy  c:\ d:\  /XD dirs  c:\skyblue

- 특정 파일 제외하고 카피하기(/XF FILE) 

robocopy c:\ d:\  /XF file c:\skyblue\roboda.htm

- 오래된 파일은 제외하고 카피하기(/MAXAGE:N 또는 YYYYMMDD방식입력)

robocopy c:\ d:\ /maxage:20120824 (8월24일이전파일은 제외)

- 최신 파일은 제외하고 카피하기(/MINAGE:N 또는 YYYYMMDD방식입력)

robocopy c:\ d:\ /minage:20120824 (8월24일이후파일은 제외)

- 특정 파일을 포함시켜서 카피하기(IF)

robocopy c:\robo\ d:\roboda  /if c:\skyblue\naya.dll

- 진행결과 미리 도출해보기(/L 실제로 카피결과는 일어나지 않음)

robocopy c:\ d:\ /L

- 로그파일 생성 및 복사하기 (LOG:file  한파일중복기록)

robocopy c:\ d:\ /log:file d:\log\coollog.txt (경로미지정시 본인계정폴더로 저장)

- 로그파일 생성 및 복사하기 (LOG+:file 한파일중복기록)

robocopy c:\ d:\ /log+:file d:\log\coollog.txt (경로미지정시 본인계정폴더로 저장)

※ 옵션을 조합한 응용예시 

robocopy /mir /xa:h /ndl /ETA /R:0  d:\ f:\ /XF FILE d:\cool\cool.dll d:\cool\cool2.dll  /XD DIRS D:\$RECYCLE.BIN

- 사용 옵션

/mir : 미러링 카피

/xa:h  : 윈도우의 숨김파일은 제외하고 카피

/ndl :  카피 진행시나  로그파일에  디렉토리는 기록안하기

/eta : 파일카피 예상완료시간을 표기

/R:0 : 카피시도실패시 반복횟수 (기본옵션 100만번)으로 R:0 하여 반복하지 않거나 R:1으로 반복처리

반복처리시 쓰기대기시간은 기본 30초후에 진행하므로 빠르게 진행할경우 /W:10 하면 10초후에 진행

/XF FILE  특정 파일을 제외하고 카피

/XD DIRS 특정 디렉토리를 제외하고 카피(여기선 휴지통을 제외함)

☆ robocopy 복사 옵션:

/S :: 비어 있는 디렉터리는 제외하고 하위 디렉터리를 복사합니다.

/E :: 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.

/LEV:n :: 원본 디렉터리 트리의 최상위 n개 수준만 복사합니다.

/Z :: 다시 시작 모드에서 파일을 복사합니다.

/B :: 백업 모드에서 파일을 복사합니다.

/ZB :: 다시 시작 모드를 사용합니다. 액세스가 거부된 경우 백업 모드를 사용합니다.

/EFSRAW :: EFS RAW 모드에서 암호화된 모든 파일을 복사합니다.

/COPY:copyflag[s] :: 파일에 대해 복사할 내용입니다. 기본값은 /COPY:DAT입니다.

(copyflags : D=데이터, A=특성, T=타임스탬프).

(S=보안=NTFS ACL, O=소유자 정보, U=감사 정보).

/DCOPY:T :: 디렉터리 타임 스탬프를 복사합니다.

/SEC :: 보안된 파일을 복사합니다. /COPY:DATS와 동일합니다.

/COPYALL :: 모든 파일 정보를 복사합니다. /COPY:DATSOU와 동일합니다.

/NOCOPY :: 파일 정보를 복사하지 않습니다. /PURGE와 사용하면 좋습니다.

/SECFIX :: 건너뛴 파일도 포함하여 모든 파일의 파일 보안을 수정합니다.

/TIMFIX :: 건너뛴 파일도 포함하여 모든 파일의 파일 시간을 수정합니다.

/PURGE :: 원본에 없는 대상 파일/디렉터리를 삭제합니다.

/MIR :: 디렉터리 트리를 미러링합니다./ E plus /PURGE와 동일합니다

/MOV :: 파일을 이동합니다. 복사한 다음 원본에서 삭제합니다.

/MOVE :: 파일 및 디렉터리를 이동합니다. 복사한 다음 원본에서 삭제 합니다.

/A+:[RASHCNET] :: 제공된 특성을 복사된 파일에 추가합니다.

/A-:[RASHCNET] :: 제공된 특성을 복사된 파일에서 제거합니다.

/CREATE :: 디렉터리 트리와 길이가 0인 파일만 만듭니다.

/FAT :: 8.3 FAT 파일 이름만 사용하여 대상 파일을 만듭니다.

/256 :: 256자를 초과하는 매우 긴 경로에 대한 지원을 사용하지 않습니다.

/MON:n :: 원본을 모니터링합니다. n개 이상의 변경 내용이 표시된 경우 다시 실행합니다.

/MOT:m :: 원본을 모니터링합니다. 변경 내용이 있으면 m분 후에 다시실행합니다.

/RH:hhmm-hhmm :: 실행 시간 - 새 복사본을 시작할 수 있는 시간입니다.

/PF :: 통과 기준이 아닌 파일당 기준으로 실행 시간을 확인합니다.

/IPG:n :: 패킷 간 간격(ms), 저속 회선에서 사용 가능한 대역폭을 확보 합니다.

/SL:: 대상에 대한 심볼 링크를 복사합니다.

/MT[:n] :: n개의 스레드가 있는 다중 스레드를 복사합니다(기본값 8). n은 1 이상 128 이하여야 합니다.

이 옵션은 /IPG 및 /EFSRAW 옵션과 호환되지 않습니다.

성능을 향상시키려면 /LOG 옵션을 사용하여 출력을 리디렉션하십시오.

☆ robocopy 옵션:

/A :: 보관 특성 집합이 있는 파일만 복사합니다.

/M :: 보관 특성이 있는 파일만 복사하고 보관 특성을 해제합니다.

/IA:[RASHCNETO] :: 지정된 특성을 가진 파일만 포함합니다.

/XA:[RASHCNETO] :: 지정된 특성을 가진 파일을 제외합니다.

/XF file [file]... :: 지정된 이름/경로/와일드카드와 일치하는 파일을 제외합니다.

/XD dirs [dirs]... :: 지정된 이름/경로와 일치하는 디렉터리를 제외합니다.

/XC :: 변경된 파일을 제외합니다.

/XN :: 새 파일을 제외합니다.

/XO :: 오래된 파일을 제외합니다.

/XX :: 추가 파일 및 디렉터리를 제외합니다.

/XL :: 고립된 파일 및 디렉터리를 제외합니다.

/IS :: 같은 파일을 포함합니다.

/IT :: 조정된 파일을 포함합니다.

/MAX:n :: 최대 파일 크기 - n바이트를 초과하는 파일을 제외합니다.

/MIN:n :: 최소 파일 크기 - n바이트 미만의 파일을 제외합니다.

/MAXAGE:n :: 최대 파일 사용 기간 - n일/날짜보다 오래된 파일을 제외합니


/MINAGE:n :: 최소 파일 사용 기간 - n일/날짜보다 최신 파일을 제외합니다.

/MAXLAD:n :: 최대 마지막 액세스 날짜 - n 이후에 사용되지 않은 파일을


/MINLAD:n :: 최소 마지막 액세스 날짜 - n 이후에 사용된 파일을 제외합니


n이 1900보다 크면 n은 n일과 같고 그렇지 않으면 n은 YYYYMM

DD 날짜입니다.

/XJ :: 연결 지점을 제외합니다. 일반적으로 기본값으로 포함됩니다.

/FFT :: FAT 파일 시간(2초 단위)을 가정합니다.

/DST :: 1시간의 DST 시간 차이를 보완합니다.

/XJD :: 디렉터리의 연결 지점을 제외합니다.

/XJF :: 파일의 연결 지점을 제외합니다.

☆ robocopy  다시 시도 옵션:

/R:n :: 실패한 복사본에 대한 다시 시도 횟수입니다. 기본값은 1백만


/W:n :: 다시 시도 간 대기 시간입니다. 기본값은 30초입니다.

/REG :: /R:n 및 /W:n을 레지스트리에 기본 설정으로 저장합니다.

/TBD :: 정의할 공유 이름을 기다립니다(다시 시도 오류 67).

☆ robocopy  로깅 옵션:

/L :: 목록 전용 - 파일을 복사 또는 삭제하거나 타임스탬프를 만들

지 않습니다.

/X :: 선택된 파일을 제외하고 모든 추가 파일을 보고합니다.

/V :: 자세한 정보 표시를 출력하고 건너뛴 파일을 표시합니다.

/TS :: 출력에 원본 파일 타임스탬프를 포함합니다.

/FP :: 출력에 파일의 전체 경로 이름을 포함합니다.

/BYTES :: 바이트 크기로 인쇄합니다.

/NS :: 크기 없음 - 파일 크기를 기록하지 않습니다.

/NC :: 클래스 없음 - 파일 클래스를 기록하지 않습니다.

/NFL :: 파일 목록 없음 - 파일 이름을 기록하지 않습니다.

/NDL :: 디렉터리 목록 없음 - 디렉터리 이름을 기록하지 않습니다.

/NP :: 진행률 없음 - 복사율(%)을 표시하지 않습니다.

/ETA :: 복사하는 파일의 예상 도착 시간을 표시합니다.

/LOG:file :: 상태를 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.

/LOG+:file :: 상태를 로그 파일에 출력합니다. 기존 로그에 추가합니다.

/UNILOG:file :: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그를 덮


/UNILOG+:file :: 상태를 유니코드로 로그 파일에 출력합니다. 기존 로그에 추


/TEE :: 로그 파일과 콘솔 창에 출력합니다.

/NJH :: 작업 헤더가 없습니다.

/NJS :: 작업 요약이 없습니다.

/UNICODE :: 상태를 유니코드로 출력합니다.☆ robocopy  작업 옵션:

/JOB:jobname :: 명명된 작업 파일에서 매개 변수를 가져옵니다.

/SAVE:jobname :: 명명된 작업 파일에 매개 변수를 저장합니다.

/QUIT :: 매개 변수를 볼 수 있도록 명령줄을 처리한 후에 끝냅니다.

/NOSD :: 원본 디렉터리가 지정되어 있지 않습니다.

/NODD :: 대상 디렉터리가 지정되어 있지 않습니다.

IF :: 다음 파일을 포함합니다.

출처 - http://cgland.tistory.com/74

[KT]Ping Bat

Network 2015.10.14 15:13 Posted by 애플자라

@title 00
@echo off

ping -t


'Network' 카테고리의 다른 글

[KT]Ping Bat  (0) 2015.10.14
[라우터]BGP상태확인  (0) 2015.08.20
[방화벽]session 파라미터 끊기  (0) 2015.02.27
방화벽 tcpdump  (0) 2015.02.13
SSH IP / 계정 차단  (0) 2015.02.10
[EMAIL]SPF 레코드 확인 방법  (0) 2015.02.10

[개발자]초심 개념알기!!

Programing 2015.09.08 11:42 Posted by 애플자라

Windows/Linux 둘다적용


0. JDK설치(1.5이상)
1. Oracle설치(운영DB기준, 10g이상) - 테이블스페이스,테이블셋팅,계정부여,권한부여
2. Apache설치(2.0이상, C:/app/Apache2.x) - 웹서버개념,rotalog설정(CustomLog,ErrorLog 일자별 적재),포트확인, DocumentRoot
3. Resin/Tomcat설치(C:/app/Resin4.x, C:/app/Tomcat7) - WAS개념,포트확인,java heap 메모리셋팅
4. 아파치,Resin/Tomcat 연동(Port 80) - 포트확인,연동포트(Listen포트)

위 내용이 다 끝나면
1. Apache vhost를 이용해서 100포트로 (ex, D:/Project/homepage_dev)로 두개 올리기
2. subversion Windows설치 후 소스관리(Commit,Update,synchronize), 권한설정


위 내용이 다 끝나면 - editplus쓰지 않고 shell로만 사용
1. Linux(CentOS7.0) 설치 - Centos 버전 및 커널 버전 확인하기
2. yum설치 or rpm설치 알기
3. Apache, Tomcat, Resin, Mysql(5.0이상),Oracle(11g설치),subversion,FTP(서버),SSH,오픈SSL 설치 - 계정부여,그룹부여,권한부여,telnet접속막기
4. 파일질라,알FTP, FTP툴 안쓰고 ftp get put 사용해보기(아스키,바이너리 개념)
5. wget 사용해보기