echo off
REM - 변수설정
set DOMAIN=domain.co.kr
set OLDIP=192.168.1.100
set NEWIP=192.168.2.150
REM - IP 변경명령
Dnscmd /RecordDelete %DOMAIN% www A %OLDIP% /f
Dnscmd /RecordDelete %DOMAIN% @ A %OLDIP% /f
Dnscmd /RecordAdd %DOMAIN% www A %NEWIP%
Dnscmd /RecordAdd %DOMAIN% @ A %NEWIP%
REM - 기존의 chache 값 삭제
Dnscmd /ClearCache
1행은 화면의 과정이 안 나오게 하는 중요하지 않은 옵션입니다.
3~5행은 변수에 값들을 저장합니다. 추후 재 사용이 가능하게 말입니다.
기존 IP와 신규 IP, 그리고 도메인을 변수로 잡습니다.
8~14행은 실제 명령어 부분입니다.
8,9행은 기존의 Record를 지우는 명령어이며 뒤에 ‘/f’ 는 사용자에게 정말로 지우겠냐고 물어보는 질의 없이 지운다는 뜻입니다.
10,11행은 새로운 IP로 A record를 지정해 추가해 주는 것입니다.
14행은 IP가 변경됐으므로 기존의 cache에 있는 값들을 삭제하기 위한 명령입니다.
이제 파일을 저장하겠습니다.
이름은 ‘IP_Change.bat’로 하겠습니다.
이제 이 배치 파일을 지정된 날, 지정된 시간에 실행을 해야 합니다.
‘at’ 명령어를 이용하여 예약해 보겠습니다.
at \\localhost 1:00AM /next:S "c:\IP_Change.bat"
위의 명령어를 한번 보도록 하겠습니다.
첫 인자는 서버를 지정하고 두번째는 시간, 세번째는 언제(날짜)인지 그리고 마지막은 실행할 파일입니다.
작업을 추가했으면 ‘at’ 만 입력하면 그림과 같이 작업 목록이 나오고 ‘at [ID]’를 입력하면 세부 사항이 나옵니다.
‘/netxt:S’에서 ‘S’는 ‘Sunday’에 약자입니다. M,T… 등 요일의 약자를 ‘,’로 구분하여 주셔도 되고, 1-31일 사이의 날짜를 구분자로 구분하셔도 됩니다. 만약 반복되는 작업이라면 every 옵션을 사용하시면 됩니다. (자세한 도움은 ‘at’ 도움말을 보시기 바랍니다.)
문장에 오류가 없다면 정상적으로 실행이 되어있을 겁니다. 이벤트 창에 오류시만 빨간 ‘X’가 나오고 그외는 아무 소식이 없습니다. 필자는 ‘요청하신 작업[ID]가 정상적으로 완료되었습니다.’ 라는 글을 기대했었는데 아니더군요.
REM - 변수설정
set DOMAIN=domain.co.kr
set OLDIP=192.168.1.100
set NEWIP=192.168.2.150
REM - IP 변경명령
Dnscmd /RecordDelete %DOMAIN% www A %OLDIP% /f
Dnscmd /RecordDelete %DOMAIN% @ A %OLDIP% /f
Dnscmd /RecordAdd %DOMAIN% www A %NEWIP%
Dnscmd /RecordAdd %DOMAIN% @ A %NEWIP%
REM - 기존의 chache 값 삭제
Dnscmd /ClearCache
1행은 화면의 과정이 안 나오게 하는 중요하지 않은 옵션입니다.
3~5행은 변수에 값들을 저장합니다. 추후 재 사용이 가능하게 말입니다.
기존 IP와 신규 IP, 그리고 도메인을 변수로 잡습니다.
8~14행은 실제 명령어 부분입니다.
8,9행은 기존의 Record를 지우는 명령어이며 뒤에 ‘/f’ 는 사용자에게 정말로 지우겠냐고 물어보는 질의 없이 지운다는 뜻입니다.
10,11행은 새로운 IP로 A record를 지정해 추가해 주는 것입니다.
14행은 IP가 변경됐으므로 기존의 cache에 있는 값들을 삭제하기 위한 명령입니다.
이제 파일을 저장하겠습니다.
이름은 ‘IP_Change.bat’로 하겠습니다.
이제 이 배치 파일을 지정된 날, 지정된 시간에 실행을 해야 합니다.
‘at’ 명령어를 이용하여 예약해 보겠습니다.
at \\localhost 1:00AM /next:S "c:\IP_Change.bat"
위의 명령어를 한번 보도록 하겠습니다.
첫 인자는 서버를 지정하고 두번째는 시간, 세번째는 언제(날짜)인지 그리고 마지막은 실행할 파일입니다.
작업을 추가했으면 ‘at’ 만 입력하면 그림과 같이 작업 목록이 나오고 ‘at [ID]’를 입력하면 세부 사항이 나옵니다.
‘/netxt:S’에서 ‘S’는 ‘Sunday’에 약자입니다. M,T… 등 요일의 약자를 ‘,’로 구분하여 주셔도 되고, 1-31일 사이의 날짜를 구분자로 구분하셔도 됩니다. 만약 반복되는 작업이라면 every 옵션을 사용하시면 됩니다. (자세한 도움은 ‘at’ 도움말을 보시기 바랍니다.)
문장에 오류가 없다면 정상적으로 실행이 되어있을 겁니다. 이벤트 창에 오류시만 빨간 ‘X’가 나오고 그외는 아무 소식이 없습니다. 필자는 ‘요청하신 작업[ID]가 정상적으로 완료되었습니다.’ 라는 글을 기대했었는데 아니더군요.